linux查看某进程CPU内存消耗占用最高的线程名称

时间:2024-10-13 19:37:24

1、执行jps查找全部的java进程或者用ps + grep找出目标进程pid

linux查看某进程CPU内存消耗占用最高的线程名称

2、top -H -p 进程ID我这里为3889,shift+h可以看出全部线程

linux查看某进程CPU内存消耗占用最高的线程名称

3、这里列PID显示的线程的ID,从图片中看出,第一个线程占用最高,线程ID为3906,将线程号转换为16进制

linux查看某进程CPU内存消耗占用最高的线程名称
linux查看某进程CPU内存消耗占用最高的线程名称

4、jstack3889 > /tmp/aa.txt,将该进程的全部堆栈信息放入临时文件aa.txt里面

linux查看某进程CPU内存消耗占用最高的线程名称

5、vi /tmp/aa.txt注意到nid=xxxx,表示线程号为多少,用十六进制表示的。

linux查看某进程CPU内存消耗占用最高的线程名称

6、在vi命令模式下输入/f42,搜索线程号数据

linux查看某进程CPU内存消耗占用最高的线程名称

7、最后看到搜索结果,光标闪烁在"VM Periodic Task Thread" os_prio=0 tid=0x00007fe6c010e800 nid=0xf42 waiting on condition这一行。这个线程正在等待条件满足,触发之后的程序执行。它的线程名为VM Periodic Task Thread,如果是你自己写的java代码,可以取个更有意义的名称。

linux查看某进程CPU内存消耗占用最高的线程名称
© 手抄报圈