饭随笔

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

查看某个线程占得CPU高

jps得到pid

pidstat -p [pid] -t 1 5        -t表示显示该进程里面所有的线程的信息

06:20:32 PM      TGID       TID    %usr   %system  %guest    %CPU   CPU     Command
06:20:32 PM      2996         -      6.16    0.22      0.00      6.38    18    java
06:20:32 PM         -           2996    0.00    0.00      0.00      0.00    18    |__java
06:20:32 PM         -           3068    0.00    0.00      0.00      0.00     1    |__java
06:20:32 PM         -           3069    0.12    0.00      0.00      0.12    31    |__java
06:20:32 PM         -        3070    0.12    0.00      0.00      0.12    12    |__java
06:20:32 PM         -        3071    0.12    0.00      0.00      0.12    18    |__java
06:20:32 PM         -        3072    0.12    0.00      0.00      0.12     8    |__java

 

比如使用线程ID : TID 2996,

转换成16进制:echo '3068' | awk '{printf("\\x%02x\\x%02x\n", $1/256, $1%256);}'      得到 \x0c\x1a

jstack -l [pid] >> textFile

去jstack的输出文件textFile中找 nid为 c1a 的那一项,一般占cpu较高的线程是JVM的GC线程。

 

posted on   饭随笔  阅读(505)  评论(0编辑  收藏  举报

点击右上角即可分享
微信分享提示