JSTACK 分析线程

查找 tomcat 线程

可以通过两种方式找:

  • jps

    一般Bootstrap都是tomcat的

    JPS

  • ps -ef |grep tomcat

    PS

jstack dump 出线程

1
jstack 23524 > jstack.txt

查看 tomcat 内部线程

1
top -H -p 23524

(shift+p 按 cpu 排序,shift+m 按内存排序)

tomcat-stack

将PID换算成16进制,然后在jstack.txt查找nid=0x换算后的数

1
cat jstack.txt | grep 'nid=0x5be9' -B 5 -A 40

4.png

发现频繁的GC,推测是不是数据库在频繁的开关导致,因此检查 tomcat jndi是否没配置数据库连接池参数

加上连接池参数

5.png

参考

jstack分析cpu负载过高原因:

https://blog.csdn.net/u010248330/article/details/80080605

jstack: Java占用高CPU分析之- GC Task Thread:

https://blog.csdn.net/chenxiusheng/article/details/74007040

显示 Gitment 评论
0%