zoukankan      html  css  js  c++  java
  • linux下找到JVM占用资源最高的线程

    linux的top命令不仅可以看线程的资源占用,还可以看进程下线程的资源占用,结合对应的java命令可以定位到具体有问题的Java代码,以找出占用CPU最高的线程为例:
    第一步: 通过 top命令查找到这个消耗CPU的进程号PID 8958
    第二步:使用 top -Hp pid(shift+p 按cpu排序,shift+m 按内存排序)
    top -Hp 8958 获取到这个进程下面所有线程,通过查看%CPU找到最耗费CPU的是线程PID
    第三步:使用 printf '%x ' PID (PID为上一步中获取到的线程号)转换成对应的16进制PID 5c7e 。因为jstack中线程号为16进制表示,与top下线程号整数表示不同,所以要转换。
    第四步:使用jstack 获取对应的线程信息 jstack 8958 | grep 5c7e
    8958是一开始获取的进程号,而5c7e则是这个进程下面最最耗费CPU的线程号。
  • 相关阅读:
    Redis常见数据类型
    MYSQL常见可优化场景
    算术切片
    找数组里没出现的数
    不同路径和(II)
    不同路径和
    最小路径和
    强盗抢房子
    丑数(2)
    判断子序列
  • 原文地址:https://www.cnblogs.com/doit8791/p/11895507.html
Copyright © 2011-2022 走看看