某个java项目占用99%的cup资源排查

第一步:ps aux | sort -k3nr | head -5  查询前五cpu占比的进程

 

 

 这里发现3032这个进程占比高达98.8%

第二步:top -Hp 3032(进程id)查看进程3032中线程资源占用情况

 

 

 可以看到27737这个线程占用99.9%,将线程10进制转化为16进制

printf %x\n  27737(线程id)

 

 第三步:将进程内容输出到txt文件中
jstack -l 3032 > jstackt.txt
打开txt搜索6c59

 

此时定位到问题出现在 com.sthjnet.gps.task.Task的46行,然后进行问题排查