伺服器cpu突然告警,如何定位是哪個服務程序導致cpu過載,哪個執行緒導致cpu過載,哪段**導致cpu過載?
步驟一、找到最耗cpu的程序
工具:top
方法:圖示:
如上圖,最耗cpu的程序pid為1802
步驟二:找到最耗cpu的執行緒
工具:top
方法:圖示:
如上圖,程序1802內,最耗cpu的執行緒pid為1826
步驟三:將執行緒pid轉化為16進製制
工具:計算器
之所以要轉化為16進製制,是因為堆疊裡,執行緒id是用16進製表示的。
步驟四:檢視堆疊,找到執行緒在幹嘛
工具:jstack/grep
方法:jstack 1802 | grep 『722』 -c5
圖示:如上圖,找到了耗cpu高的執行緒對應的執行緒名稱「http-nio-10287-exec-10」,以及看到了該執行緒正在執行**的堆疊。
列印程序Spooler占用 cpu 100
當列印佇列檔案損壞時,print spooler 服務的程序 spoolsv.exe 可能會導致很高的 cpu 占有率,同時無法繼續執行列印過程。重新啟動 print spooler 服務也不能解決上述問題。當使用者嘗試列印檔案時,如果位於 systemroot system32 spool pri...
hadoop從節點cpu100 以上
出現了兩次這樣的情況了,集群的某個從節點出現cpu超標達到100 甚至還要高一些的值 100.第一次不是我用的機器,找日誌沒找到有效資訊,只那台從節點jps執行不了了,後來不記得怎麼處理的了。這一次是我自己用的機器,我知道最後一次執行的操作,是kill 9hive的run jar程序號,當時正在執行...
CPU100 排查總結
系統 centos7 openjdk 1.8 1 簡單介紹 1 若cpu100 可能所有程序都不能正常幹活 假死 2 cpu100 出現情況 沒有多餘cpu切換 所有cpu均被占用,且不能被釋放 3 cpu100 出現條件 死迴圈 迴圈裡無阻塞 只有計算型任務 注 system.out.printl...