機(jī)器CPU高問題排查

  1. top找到占用CPU資源的進(jìn)程


    top.png
  2. 要查看java程序在做什么事情,用jstack命令dump出java堆棧


    jstack-F 19740.png

這個(gè)報(bào)錯(cuò)是因?yàn)閖ava程序運(yùn)行的jdk版本和jstack運(yùn)行的jdk版本不一致
用find / -name java找到j(luò)ava程序運(yùn)行的jdk目錄
運(yùn)行該jdk下的jstack


jstack-F 19740 2.png

發(fā)現(xiàn)還是報(bào)錯(cuò),百度這個(gè)錯(cuò)誤找到解決方法,需要安裝一個(gè)openjdk-debuginfo:
在這個(gè)地址中http://debuginfo.centos.org/7/x86_64/找到對(duì)應(yīng)jdk版本的文件下載安裝

wget http://debuginfo.centos.org/7/x86_64/java-1.8.0-openjdk-debuginfo-1.8.0.121-0.b13.el7_3.x86_64.rpm
rpm -ivh java-1.8.0-openjdk-debuginfo-1.8.0.121-0.b13.el7_3.x86_64.rpm

安裝完成后,再次運(yùn)行,并將輸出的信息保存到文件,方便分析
jstack -F 19740 > ~/19740.txt

top -p pid -H 找到占用CPU的JAVA線程


top-h.png

如果用的是JDK,則需要將獲取的線程ID轉(zhuǎn)換成16進(jìn)制
我這里用的是openjdk,則不需要轉(zhuǎn)換,直接在保存的文件中查找相應(yīng)的線程ID,分析對(duì)應(yīng)的錯(cuò)誤,或者將報(bào)錯(cuò)發(fā)送給開發(fā)人員分析問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 今天事情比較多,剛回到家,還沒洗澡,因?yàn)槌兄Z今天要寫簡書,所以要做到。 2015年我上了展能,記得十大金句中的其中...
    幸福從光開始閱讀 391評(píng)論 0 2
  • 壹、我是一只愛吃雞的黃鼠狼,怎么樣怎么樣! 鳳鳴山,有鳳來鳴,算是個(gè)不錯(cuò)的地方。這里草木繁盛,常年玉石不斷,靈氣極...
    大錢小胖閱讀 1,174評(píng)論 43 20
  • 三無真人閱讀 405評(píng)論 0 0

友情鏈接更多精彩內(nèi)容