最近一个接收数据的应用,经常莫名其妙的卡死,出现这种情况时会停止输出日志信息,对查找问题非常不利。根据现有日志和表象,只能大致判断是哪块引起卡死,至于内部状态一无所知。在Linux系统中,kill -3 <PID>命令,可以将进程的dump日志输出到控制台,通过这些内容可以找到更多排查问题的线索。
以下为Linux+Tomcat中获取卡死状态下thread dump的实例:
1.查找进程ID
ps -ef|grep tomcat
2.输出日志
kill -3 <pid>
3.查看日志
more /tomcat/logs/catalog.out