背景:
在服务器上部署了一个项目,发现项目部署完成之后,CPU占用率居高不下,现将原因分析过程总结如下:
通过top命令查看CPU占用率,分析CPU占用过高的原因
步骤一:
通过top命令,查看占用CPU高的进程ID
top
步骤二:
找到占用CPU高的进程ID(这里的进程ID是14288)之后,查看是哪些线程占用CPU高,命令如下:
ps H -eo pid,tid,%cpu | grep 14288
步骤三:
发现tidwei 15957的一个线程占用着过高的CPU,将15957转为16进制:3e55,然后通过jstack抓取此线程
jstack 14288 > 14288.txt
在这里面找到3e55,这样就找到了问题根本。
至此:
问题原因已经找到