性能分析 - 应用服务器CPU占用率过高

排查方法一


1、首先查找CPU占比高的进程ID: top  (直接top命令即可)

2、查找该进程下CPU占比高的线程:top -Hp pid  或者  ps -mp pid-o THREAD,tid,time    【H内从,p是CPU】

3、把CPU占比较高的线程tid进行16进制转换:  printf "%x\n" tid

4、jstack pid |grep tid -A 30 显示堆栈信息:例如 jstack 19987| grep -A 50 16644

排查方法二


1、首先查找CPU占比高的进程ID: top  (直接top命令即可)

2、查找该进程下CPU占比高的线程:top -Hp pid  或者  ps -mp pid-o THREAD,tid,time 

3、把CPU占比较高的线程tid进行16进制转换:  printf "%x\n" tid

4、把进程的java代码输出保存到一个日志文件中:jstack pid > error.txt

5、在error.txt文件中查询线程对应的代码:grep -C50 '关键字' error.text --color (‘关键字’是上面第三步得到的16进制字符串)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容