JVM之top+jstack分析cpu过高原因

1、用ps -ef | grep tomcat-v3 查出tomcat运行的进程id 
这里写图片描述
2、用top -Hp pid 查询进程下所有线程的运行情况(shift+p 按cpu排序,shift+m 按内存排序) 
top -Hp 30316 
这里写图片描述 
3、找到cpu最高的pid,用printf ‘%x ’ pid 转换为16进制 
printf ‘%x ’ 30506 
这里写图片描述 
4、用jstack 进程id | grep 16进制线程id 找到线程信息 
jstack 30316 | grep -A 20 772a 
这里写图片描述 
这里说不定能看到一些有用的信息(准备定位我也还没弄明白) 
我知道的好像只能解决线程死锁之类的问题,网上没有查到准备定位cpu高的代码的例子

原文:https://blog.csdn.net/z69183787/article/details/81392213

JVM调优之jstack找出最耗cpu的线程并定位代码

原文地址:https://www.cnblogs.com/personsiglewine/p/13920108.html