|
關于linux系統CPU使用率升高問題排查LINUX作為一個多任務操作系統,將每個CPU的時間劃分為很短的時間片,再通過調度器輪流分配給各個任務使用,因此造成多任務同時運行的錯覺, TOP和PS是最常用的性能分析工具。TOP顯示了系統總體的CPU和內存使用情況,以及各個進程的資源使用情況 PS則只顯示了每個進程的資源使用情況,pidstat是專門分析每個進程的CPU使用情況的工具, 使用top,ps,pidstat等工具,能夠輕松找到占用CPU使用率較高(100%)的進程,接下來,你可能想知道占用CPU的是哪個函數呢,找到它,才能更有效,更針對性的進行性能優化。 CPU使用率是最直觀和最常用的系統性能指標,更是我們在排查系統性能問題時。通常會關注的第一個指標。所以我們要熟悉它的含義,尤其要弄清楚用戶(user%)、NIce(%nice)、系統(%system),等待IO(%iowait),中斷(%irq),軟中斷(%softirq) 這幾種不同的CPU使用率。 (1).用戶和Nice CPU高,說明用戶進程占用了較多的CPU,所以應該著重排查進程的性能問題 (2).系統CPU高,說明內核態占用了較多的CPU,所以應該著重排查內核線程或系統調用的性能問題 (3).IO等待CPU高,說明等待IO的時間比較長,應該著重排查系統存儲是不是出現了IO問題 (4).軟中斷和硬中斷高,說明軟中斷或硬中斷處理程序占用了較多的CPU,所以應該著重排查內核中的中斷服務程序 碰到CPU使用率升高的問題,可以借助TOP,pidstat等工具,確認引發CPU性能問題的來源,再使用perf等工具,排查出引起性能問題的具體函數 上一篇高性能計算(HPC)下一篇大數據分析方法 |