linux 下查看java程序 cpu使用率最高的线程

思路:

1. 找到对应的java程序的进程(ps 或者 top 或者 jps (root 权限)) 比如pid是20830

2. 根据ps的查看线程相关的参数找出对应进程中使用cpu最多的线程

3.用jstack命令打印出所有的java线程 

4. 根据第2步中找到的线程id转换成16进制后到jstack打印的消息中找对应的线程

5. 根据java对应线程对应的stackTrace 来处理问题

ps相关命令

ps -p 20830 -mfL | sort -rk 5 | head -n 3 | tail -n 1 | awk '{print $4}' | xargs printf '%x\n'
jstack 相关命令

/opt/jdk/jdk1.8.0_221/bin/jstack 20830

猜你喜欢

转载自www.cnblogs.com/zhangyy3/p/11465779.html