zoukankan      html  css  js  c++  java
  • 查看某个线程占得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 ", $1/256, $1%256);}'      得到 x0cx1a

    jstack -l [pid] >> textFile

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

  • 相关阅读:
    Lambda表达式
    多态的实现原理
    泛型
    tomcat
    nginx
    列举cocoa touch 常用框架
    写出你对MVC模式的理解
    写一个委托的interface
    写一个“标准”宏MIN 这个宏输入两个参数并返回较小的一个
    简介Object-C的内存管理
  • 原文地址:https://www.cnblogs.com/fanweiwei/p/3977808.html
Copyright © 2011-2022 走看看