操作系統:centos7
這里我們模擬一個CPU占用100%的程序,程序很簡單死循環。
運行該程序,然后通過top命名查看:
找到執行CPU占用高的JAVA進程,對應的PID為510
接著使用如下命令查看具體是哪個線程執行CPU過高
top -Hp 510
-H:顯示線程信息
這里發現PID為511的線程執行CPU占用過高。
接下來通過jstack -l 510 來查看當前java程序的線程棧,同時將我們上一步查找到的CPU執行過高的線程PID 511 轉換成16進制 :511===》1FF
這樣我們就定位到了我們程序問題所在的位置。接下來我們檢查代碼即可。
完畢!!!






