查看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)导出的文件中搜索,就可以定位到具体的线程,类。

猜你喜欢

转载自www.cnblogs.com/tiancai/p/9252780.html