其他分享
首页 > 其他分享> > 线上问题定位--CPU100%

线上问题定位--CPU100%

作者:互联网

原文链接:https://www.cnblogs.com/zhouqinxiong/p/10360007.html

服务器CPU突然告警,如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载?

步骤一、找到最耗CPU的进程

工具:top

方法:

图示:

如上图,最耗CPU的进程PID为1802

步骤二:找到最耗CPU的线程

工具:top

方法:

图示:

如上图,进程1802内,最耗CPU的线程PID为1826

步骤三:将线程PID转化为16进制

工具:计算器

之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。

步骤四:查看堆栈,找到线程在干嘛

工具:jstack|grep

方法:jstack 1802 | grep ‘722’ -C5

图示:

如上图,找到了耗CPU高的线程对应的线程名称“http-nio-10287-exec-10”,以及看到了该线程正在执行代码的堆栈。

按照这几个步骤,大多数的CPU 100%问题都可以定位到,欢迎大家留言交流。

声明:本文版权归作者(壮壮熊)和博客园共有

标签:定位,top,CPU100%,进程,线程,线上,堆栈,CPU,最耗
来源: https://blog.csdn.net/yjclsx/article/details/87011216