腦圖:
查看整機:top
案例:
後臺一直運行着這個程序:
top命令查看
結果:
uptime:查看系統性能的精簡版
查看CPU:vmstat
us + sy 參考值爲80%,如果us + sy 大於80%,說明可能存在CPU不足。
查看所有的CPU:mpstat -p all 每秒查看的次數
案例:每二秒打印一次
查看進程CPU的情況:pidstat -u 1 -p 進程編號
案例:
查看內存:free
pidstat -p 進程號 -r 採樣間隔秒數
查看硬盤:df
df -h以人類的方式查看
查看磁盤IO:lostat -xdk 間隔秒數 次數
案例:查看磁盤io二秒一次,總共三次
pidstat -p 2 -p 5101
查看網絡IO:ifstat
下載安裝:
查看:
小總結:
CPU佔用過高定位分析思路
結合Linux和JDK命令一起使用
使用top命令找出cpu佔比最高的
使用ps -ef或者jps進一步定位,得知是怎樣的一個後臺程序出問題了
定位到具體的線程或者代碼
結果:
將需要的線程切換成16位進制的格式(英文小寫格式)
第一種:
第二種:(推薦使用)
轉成小寫就是13ee
jstack 進程ID | grep tid (16進制線程id小寫英文)
定位到這個
JavaDemo02.java這個文件的第十行有問題