首頁 > 軟體

Java高CPU占用原因排查

2020-06-16 17:36:06

top命令發現某個進程佔用了100%的CPU

通過ps命令,進一步確定哪個進程出了問題

再檢視執行緒佔用CPU的列表

# ps -mp PID -o THREAD,tid,time


找到佔用CPU最高的執行緒,檢視TID,將其轉換為16進位制格式

# printf "%xn" TID


而後檢視堆疊資訊

# jstack PID |grep 16進位制TID -A 60


這裡報錯是因為tomcat進程執行使用者為tomcat,而當前以root使用者檢視堆疊資訊

因此切換為tomcat執行命令

# sudo -u tomcat  jstack 32072 |grep 1541 -A 60
# sudo -u tomcat jstack -J-d64 -m 32072

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-08/133859.htm


IT145.com E-mail:sddin#qq.com