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线程。

  • 相关阅读:
    添加egit插件
    Git使用教程
    mysql set names 命令和 mysql字符编码问题
    git常用命令
    前端WEB编辑器-------webstrom
    maven 常见错误解决方法
    java -jar 执行 eclipse export 的 jar 包报错处理
    数据库(DBUtils)
    数据库(JDBC、DBUtils)
    rabbitmq Exchange四种模式
  • 原文地址:https://www.cnblogs.com/fanweiwei/p/3977808.html
Copyright © 2011-2022 走看看