查看java进程中哪个线程在消耗系统资源

1 top -p $pid -H  加上-H这个参数后,会列出有哪些线程。这样就可以看到哪个线程id最消耗系统资源了。
看到的线程id是10进制的数字。

2 jstack $pid 可以打印出制定java进程的stack状况。

3 将第1步top命令看到的线程id转为16进制显示,就可以在jstack的结果中找到它了。

 

可以写一个简单的脚本来做这个事情。

#!/bin/sh

file=$1
nid=`python -c  "print hex($2)" `
grep  -i $nid $file

 

 

ok

posted on 2016-07-01 09:36  冰羽的世界  阅读(730)  评论(0编辑  收藏  举报