Centos
大量 CPU 使用率飆升,我如何找出導致它的原因?
我有一台執行 CentOS Linux 的伺服器,很少發生(可能每 3 個月一次)導致它具有異常高的 CPU 負載(400%),導致伺服器基本上凍結。
我遇到的問題是,當我重新啟動伺服器時,我無法弄清楚導致峰值的原因。我嘗試設置一個 cron 作業以偶爾將前 10 個 CPU 程序轉儲到日誌文件,但是當 CPU 負載很高時,cron 作業顯然也不會執行。
我對執行伺服器有點陌生,所以我希望你們能對我如何更好地記錄程序並找出導致下次突然飆升的原因有一些建議。我確定這只是一個失控的腳本或過程,但在我弄清楚它是哪一個之前,我有點不知所措……
感謝您的任何幫助,您可以提供!
您多久執行一次日誌記錄 cronjob?也許您應該更頻繁地執行它,因為 CPU 使用率不會立即達到峰值,您必須在某處看到增加。或者,您可以使用atop監控資源負載(包括 CPU 負載)超時。
嚴格來說不是您問題的答案,但請查看monit。您可以將其配置為監視各種內容,包括全域系統統計資訊。例如,如果 cpu 使用率超過 97% 持續 3 分鐘,我的伺服器將重新啟動。如果 apache 使用 >80% cpu 5 分鐘,它會重新啟動,依此類推。這是一款非常有用的軟體,讓我晚上睡得更輕鬆。:-)