线上一些问题排查

一,线上cpu飙升很高怎么排查?

1.通过top命令或者htop也可以看到哪些pid(进程)的cpu使用率比较高,比如pid=2266这个进程跑java服务占用百分之70的cpu.

2.如果发现当前进程pid占用较高,你就可以使用 top -p 2266  ,输出当前进程,如果想看当前进程下的线程哪个占用cpu比较高,可以使用命令 top -H -p 2266 查看. 假设 发现线程 2287占用cpu很高

3.使用printf '%x' 2287 , 如果输出是: 8ef

4. 使用 jstack  2266 > 2266.txt ,即输出到一个文件上面.

5.文件里面搜索 8ef, 例如:

 

 

6.去查找代码,例如:

 

 ,最终发现是个死循环(whlie(true))

 

二.线上环境的JVM都设置多大?

 

 

 

 三.线上Java服务器内存飙升是怎么回事?

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章