分析堆栈信息,用来定位cpu过高或系统访问缓慢等问题
- top #查看java进程,假设进程号11000
- top -H -p 11000 #查看具体进程中CPU占用过高的进程号,假如:12345
- printf “%x\n” 12345 #通过此运算,拿到此进程号的16进制码,假如:5de4
- jstack -l 11000 | grep 5de4 -A 10 #这时可以定位到具体的位置(显示10行),然后通过分析得到具体的代码位置
- 如果看不出来问题,那么也有可能是gc问题,gc频繁运行,通过命令:
jmap -gcutil xxx(进程号),来查看gc情况,如果是频繁gc,那么考虑调整tomcat的虚拟机内存大小