jstack分析cpu负载过高原因

1、用ps -ef | grep tomcat-查出tomcat运行的进程id
这里写图片描述

2、用top -H -p pid 查询tomcat进程下所有线程的运行情况(shift+p 按cpu排序,shift+m 按内存排序)
这里写图片描述

3、导出java线程dump文件到某目录
这里写图片描述
4.打印CPU消耗较多的线程id
jstack打印的线程堆栈中线程id是十六进制的,所以需要将十进制的线程id转换为十六进制

这里写图片描述

5.在导出的17323.stack文件中搜索打印出来的0x4546,就能找到引起cpu过高的线程。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u010248330/article/details/80080605