ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-06-08 17:08:14  阅读:283  来源: 互联网

标签:查看 PID 消耗 2609 线程 stack CPU


如何找出消耗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

  查看问题

 

标签:查看,PID,消耗,2609,线程,stack,CPU
来源: https://www.cnblogs.com/qmillet/p/13066732.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有