Linux下如何排查占用CPU很高的Java程序

2024-03-14,,

这篇文章主要为大家展示了“Linux下如何排查占用CPU很高的Java程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何排查占用CPU很高的Java程序”这篇文章吧。

jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息。

故意设置了一个CPU占用很高的场景:

排查问题,步骤:

\1. ps -mp 【替换为进程ID PID】 -o THREAD,tid,time

发现线程6322、6323占用CPU很高,时间也很长。

\2. printf “%x” 【线程ID TID】

把TID转换为16进制。

\3. jstack 【进程ID PID】 | grep 【线程ID十六进制】 -A 10 -B 10

利用jstack工具,查看前后10行,发现问题所在!

代码中故意设置:

\4. 重复2、3,查看另一个线程。

–—

附录:要访问自己的Virtual Box,网络设置要调整为:

以上是“Linux下如何排查占用CPU很高的Java程序”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注本站行业资讯频道!

《Linux下如何排查占用CPU很高的Java程序.doc》

下载本文的Word格式文档,以方便收藏与打印。