服務器cpu使用率馬上100%
通過ps -ef |grep java通過pid找到找到該Java程序。
從而找到運行在那個docker里。
進入該docker
docker exec -it (CONTAINER ID) bin/bash
這里為docker exec -it bc27d8bb1c2c bin/bash
top查看
#docker中如果運行一個java程序他的pid默認應該是1.
以下部分引用
排查問題,步驟:
1. ps -mp 【替換為進程ID PID】 -o THREAD,tid,time
發現線程6322、6323占用CPU很高,時間也很長。
2. printf “%x” 【線程ID TID】
把TID轉換為16進制。
3. jstack 【進程ID PID】 | grep 【線程ID十六進制】 -A 10 -B 10
利用jstack工具,查看前后10行,發現問題所在!