连续两天tomcat出现了假死的情况,不响应任何请求。但是日志里面没有看到任何相关异常。
调查方法,把当前内存堆栈和线程堆栈打印出来,然后进行分析。
#dump 方法栈信息
jstack $pid > /home/$pid/jstack.txt
#dump jvm内存使用情况
jmap -heap $pid > /home/$pid/jmapheap.txt
#dump jvm二进制的内存详细使用情况 (效果同在Tomcat的catalina.sh中添加 set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/heapdump 此文件需要借用内存分析工具如:Memory Analyzer (MAT)来分析)
jmap -dump:format=b,file=/home/$pid/jmapdump.txt $pid
来源:oschina
链接:https://my.oschina.net/u/4258318/blog/4257839