你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
nccloud
背景:某项目CPU高,通过常规监控无法监控到活跃的进程,但是应用的CPU占用非常高。
1、top 命令,找到CPU占用高的进程,例如PID 为612(以下涉及612的均为该异常进程的PID)
2、单独跟踪该进程,top -p 612
3、跟进分析线程,输入大写的 H
4、找到CPU占用高的线程,记录前面的PID号(线程号),例如为 31194 , 通过16进制转换(https://tool.oschina.net/hexconvert),转换为16进制值:79da
5、通过jstack -p 612 > 612.log将进程快照输出到日志
6、查看5中输出的612.log搜索4中的16进制编码79da就可以查询到当前占用CPU的线程
通过分析发现,类似线程有5个,通过协同开发分析后发现是在做后台的批量计算
要回复问题请先登录或注册
1 个回复
nccloud
背景:某项目CPU高,通过常规监控无法监控到活跃的进程,但是应用的CPU占用非常高。
1、top 命令,找到CPU占用高的进程,例如PID 为612(以下涉及612的均为该异常进程的PID)
2、单独跟踪该进程,top -p 612
3、跟进分析线程,输入大写的 H
4、找到CPU占用高的线程,记录前面的PID号(线程号),例如为 31194 , 通过16进制转换(https://tool.oschina.net/hexconvert),转换为16进制值:79da
5、通过jstack -p 612 > 612.log将进程快照输出到日志
6、查看5中输出的612.log搜索4中的16进制编码79da就可以查询到当前占用CPU的线程
通过分析发现,类似线程有5个,通过协同开发分析后发现是在做后台的批量计算