目錄
- 前言
- 一、第一步 top
- 二、根據(jù)pid查找具體線程
- 總結
前言
系統(tǒng)cpu飆高,尤其對于后端人員來說,其實應該學會排查,這樣也算是綜合能力的體現(xiàn);那么當出現(xiàn)了cpu嚴重飆高的時候怎么排查呢?
一、第一步 top
直接在問題服務器輸入命令: top
二、根據(jù)pid查找具體線程
top -Hp 13702
例如第一個就是這個進程下占用較高的線程 pid 是 13702
2.根據(jù)pid找到16進制
printf "%x" 13702
可以看到3586就是就是這個線程了
3. 根據(jù)進程和線程查找原因
jstack 13702 |grep 3586
總結
經(jīng)過一些列操作,基本可以定位大部分問題,執(zhí)行第三步的命令的時候,如果報 jstack 未找到命令, 應該是java環(huán)境沒配置好,或者重新 source /etc/profile 之后,再次執(zhí)行,應該就行了