背景描述
服务器在一个晚上的时间cpu从2%彪到100%,本身是8核的cpu,load average彪到了12多。内存,连接数,流量都没有明显变化。
问题分析
从显现来看,单纯的cpu变高,比较明显的知道应该是程序的某一个线程或者多个线程有个死循环,直接跑满。通过top可以看下是哪个服务
输入
之后,可以用shift+h显示出最高使用的进程
top
之后,可以用shift+h显示出最高使用的进程
可以分析出:252963这个java进程使用cpu最高,但是分析到这里没有用,因为我们要找到这个进程里面的某个线程的占用情况,然后结合jstack进行分析。
使用命令:
可以得到类似ÿ
ps mp 252963 -o THREAD,tid >ps.log
可以得到类似ÿ