聊聊系統平均負載
單位時間內,系統處於可執行狀態和不可中斷狀態的程序數,可簡單理解為系統平均活躍程序數
- 可執行狀態:top命令狀態為R,包括Runnable和Running
- 不可中斷狀態:top命令狀態為D,正處於核心態關鍵流程中的程序,並且這些流程是不可打斷的,比如等待硬體裝置的I/O響應,這往往是對資料一致性的一種保護機制
二、如何檢視平均負載
$ uptime ...,load average: 0.20, 0.15, 0.19 $ top ...,load average: 0.20, 0.15, 0.19 $ w ...,load average: 0.20, 0.15, 0.19 $watch -d uptime // 監控平均負載,預設2s重新整理一次 複製程式碼
有uptime、top、w等命令檢視系統平均負載,後面三個資料分別系統過去1分鐘、5分鐘、15分鐘的平均負載
三、如何更好理解的平均負載
單核,類似單車道車道,數字小於1.0,說明正常,大於1.0道理則出現擁擠現象,多核心CPU類推,如下圖
- 車輛佔滿整個車道(0.50),說明車道暢通
- 車輛佔滿整個車道(1.00),說明車道已飽和
- 車輛佔滿整個車道(1.70),說明車道嚴重擁擠
四、平均負載與cpu核數關係
單核平均負載一般認為0.7以下是安全的,多核(邏輯CPU個數N)下,臨界值 = N * 0.7
grep 'model name' /proc/cpuinfo | wc -l 複製程式碼