转载至:http://www.importnew.com/18459.html
(1)获取项目的pid,jps或者ps -ef | grep java
(2)top -H -p pid,顺序不能改变
这样就可以打印出当前的项目,每条线程占用CPU时间的百分比。注意这里打出的是LWP,也就是操作系统原生线程的线程号,我笔记本山没有部署Linux环境下的Java工程,因此没有办法截图演示,网友朋友们如果公司是使用Linux环境部署项目的话,可以尝试一下。
使用”top -H -p pid”+”jps pid”可以很容易地找到某条占用CPU高的线程的线程堆栈,从而定位占用CPU高的原因,一般是因为不当的代码操作导致了死循环。
最后提一点,”top -H -p pid”打出来的LWP是十进制的,”jps pid”打出来的本地线程号是十六进制的,转换一下,就能定位到占用CPU高的线程的当前线程堆栈了。
本文介绍如何在Linux环境下监控Java应用的线程CPU使用情况,通过使用top命令结合jps命令来查找高CPU占用率的线程及其堆栈信息,帮助定位可能存在的死循环等问题。
1587

被折叠的 条评论
为什么被折叠?



