如何排查java进程cpu100%的问题

 

 

产生cpu100%的原因

 

 

1.java 内存不够或溢出导致GC overhead问题 gc overhead 导致cpu100%

2.死循环问题,如何常见的hashmap被多线程并发使用导致循环

3.某些操作一直占用cpu

 

第一步 使用top命令,查看占用cpu的进程

 

 

第二步 ps -ef|grep java 找出服务器的所有java进程

 

第三步 找出cpu耗用最厉害的进程PID

 

第四步 查找出具体占用cpu利用率最厉害的线程号,top -H -p PID 

1768

第五步 将获取到线程号转换成16进制  echo “obase=16;1768” |bc6d3

 

第六步 cpu占用高 jstack 1768 >test.tdump

 

第七步 导出堆  jstat -gcutil 1768

 

第八步 jvisualvm 分析快照   文件---载入----文件类型 dump

 

 

 

 

posted @ 2019-11-14 17:34  神道健  阅读(142)  评论(0)    收藏  举报