查看JAVA进程中哪个线程CPU消耗最高

一,在centos linux 上查看进程占用cpu过高

top 
shift+h
查看哪个进程程消耗最高
 
 

二,查看JAVA进程中哪个线程消耗最高

 
2.1 导出java运行的线程信息
 
jstack 进程id(jps查看)
jstack 进程id > ps.txt
jstack -l 进程id (窗口打印)
 
 
//另外还有一种方式
 
如果启动方式如下:
nohup java -classpath conf/:my.jar  com.tank.manClass>./log.out 2>&1 &
 
则执行: kill -3 PID,进程信息会输出到/log.out 
 
 
 
 
2.2 查找最消耗cpu的java线程
 
jps
找到java进程PID
命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid
 
通过%CPU和 TIME,判断占用的线程TID
 
找到TID,转换成16进制,然后在上面(jstack 进程id > ps.txt)导出的文件中搜索,就可以定位到具体的线程,类。
 
posted @ 2016-10-21 11:37  itank  阅读(21376)  评论(0编辑  收藏  举报