首页 > 编程语言 > 详细

如何查看CPU消耗最高的线程

时间:2020-06-08 18:27:16      阅读:68      评论:0      收藏:0      [点我收藏+]

如何找出消耗CPU最多的线程?

  1.使用 top -c 找出所有当前进程的运行列表

  2. 按P对所有进程按CPU使用率进行排序,找出消耗最高的线程PID

  3.使用 top -Hp PID,查出里面消耗最高的进程,继续按P排序

  4.这个线程PID是十进制的,我们需要转换为十六进制

此时已经找到了消耗CPU资源最多的线程,下面为排查问题过程

  5. 导出进程快照

jstack -l PID> ./PID.stack  //PID为进程PID

   6.再用grep查看一下线程在文件里做了啥

cat PID.stack |grep 线程PID十六进制 -C 8

 

实例

1. top -c   

2. 按P

 技术分享图片

 

 

   显示Java进程 PID 为 2609 的java进程消耗最高

 3. top -Hp 2609

 4. 按P

技术分享图片

 

   可以看到 2854 CPU消耗最高,转换为十六进制:b26

5.  jstack -l 2609 > ./2609.stack

6. cat 2609.stack |grep ‘b26‘ -C 8

  查看问题

 

如何查看CPU消耗最高的线程

原文:https://www.cnblogs.com/qmillet/p/13066732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!