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

2025-04-02 21:54:55
推荐回答(2个)
回答1:

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

回答2:

1.如果在linux的系统下面, 可以使用 ps -eLf 列出thread的cpu的使用率

2.导出java运行的线程信息
jstack 进程id(jps查看)
jstack 进程id > ps.txt
jstack -l 进程id (窗口打印)