【JVM】CPU飙升问题

前言

 线上程序突然CPU飙升,,,在一个并发不大的网站,这种情况基本上99.99%都是程序有死循环。接下来看看怎么具体定位排查吧。

 

硬啃

看看最近的代码,搜索关键字while,根据我多年临床经验,100%是哪位菜鸟写了bug。

如果找不到原因,继续往下看。

 

线程dump

1、找出java的进程id

jps -l 


2、通过进程id找到进程中各个线程的情况,包含CPU使用占比

top -p pid

 


3、输出H,按照CPU使用占比排序,并找到CPU占比高的线程threadId

 H

 


4、通过线程id打印出线程dump

jstack -l threadId > /tmp/threadId.txt

 


5、然后就可以找到可以代码处了

 

posted @ 2020-04-30 10:21  得记点什么了  阅读(439)  评论(0编辑  收藏  举报