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\n' PID (PID为上一步中获取到的线程号)转换成对应的16进制PID 5c7e 。因为jstack中线程号为16进制表示,与top下线程号整数表示不同,所以要转换。
第四步:使用jstack 获取对应的线程信息 jstack 8958 | grep 5c7e
8958是一开始获取的进程号,而5c7e则是这个进程下面最最耗费CPU的线程号。

最新文章

  1. Find All Numbers Disappeared in an Array
  2. jQuery动画特效笔记
  3. SOA (面向服务的体系结构)
  4. HTML JavaScript简介
  5. Android破解之Lic文件加密程序(首例)
  6. delphi 更改不了窗体的标题
  7. [信息OJ 2467] Asakura的难题
  8. python学习之optparse
  9. mysql的字段类型范围必须重视起来
  10. camera理论基础和工作原理
  11. 第六篇、WebSphere8.5 (商业级服务器)大规模集群
  12. 【读书札记】建立第一个Web项目
  13. EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>
  14. WebWorker 简单使用方式
  15. LDA && NCA: 降维与度量学习
  16. Knockout案例: 全选
  17. 机器学习理论基础学习14.2---线性动态系统-粒子滤波 particle filter
  18. Linux版本使用的文件系统类型
  19. 《java虚拟机》----类加载机制
  20. 移动端click时间、touch事件、tap事件

热门文章

  1. sessionStorage 、localStorage 、 cookie 和session之间的区别
  2. 解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题
  3. jQuery源码分析(九) 异步队列模块 Deferred 详解
  4. 如何在yii1.0.7中设置数据库连接超时?
  5. 阿里OSS 渗透案例
  6. .Net常见的IOC框架及AOP框架
  7. PIE SDK水体指数法
  8. C变量和常量
  9. DOIS2019大会,腾讯 DevOps 测试中台探秘
  10. vue中路由传值url--路径传值