Cpu進程100%怎麼快速找到問題

首先Xsehll鏈接上服務器:

top -c

在這裏插入圖片描述
然後

top -Hp 12703

在這裏插入圖片描述

一般CPU100%瘋狂GC,都是死循環的鍋,那怎麼排查呢?

先進服務器,用top -c 命令找出當前進程的運行列表

按一下 P 可以按照CPU使用率進行排序

顯示Java進程 PID 爲 12786的java進程消耗最高

12786是十進制的,我們需要轉換爲十六進制,轉換結果:31f2

接下來我們導出進程快照

jstack -l 12703 > ./12703.stack

在這裏插入圖片描述

再用grep查看一下線程在文件裏做了啥

cat 12703.stack |grep '31f2' -C 8

在這裏插入圖片描述
接下來找到我們的代碼
在這裏插入圖片描述
可以發現我們測試這個寫了個死循環

是不是就可以完美的解決這個問題啦!!!!!!!!!!!!!

當然我們也可以把快照拿出來分析,這就看你需要怎麼處理啦
在這裏插入圖片描述

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