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

发布时间:2022-01-27 17:13:21 作者:小新
来源:亿速云 阅读:202

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

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

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

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

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

排查问题,步骤:

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

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

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

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

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

把TID转换为16进制。

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

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

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

代码中故意设置:

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

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

–—

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

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

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

推荐阅读:
  1. 系统负载很高但cpu很空闲
  2. linux下tomcat占用cpu过高问题排查

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux cpu java

上一篇:JavaScript异步处理的方式有哪些

下一篇:jstat命令怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》