Java线上应用故障之CPU占用高排查与定位
Posted hch的随笔 成功的秘诀在于恒心—迪斯雷利
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java线上应用故障之CPU占用高排查与定位相关的知识,希望对你有一定的参考价值。
最近线上频繁报警CPU空闲不足,故紧急排查后分享给大家
1、使用top命令,获取占用CPU最高的进程号
2、查看线程号对应的进程信息
命令:ps -ef|grep 22630
3、查看进程对应的线程信息
命令:ps -mp22630-oTHREAD,tid,time | sort -nr| head -15
4、选取第一个线程号,转换成16进制
命令:printf "%x" 22657
结果:5881
5、使用jstack查询出具体的线程状态
命令:jstack 22630|grep 5881 -A 30
通过这些线程状态便可基本定位问题之所在
以上是关于Java线上应用故障之CPU占用高排查与定位的主要内容,如果未能解决你的问题,请参考以下文章