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

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

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

top -c   

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

 ​​​

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

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

top -Hp 136

 4.找到最消耗CPU的线程pid

这个线程PID是十进制的,将十进制线程pid转换为十六进制

按P(Shift+p)

可以看到 188 CPU消耗最高

printf "%x\n" 188

转换为十六进制:bc

5.保存线程栈信息

jstack -l 136 > ./136.stack

查看最消耗cpu的线程信息

 jstack 136| grep 0xbc -A 10

6. 查看信息

cat 136.stack | grep '0xbc' -C 8

或者

less 136.stack

在搜索0xbc

参考:top命令的常用方式

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值