我們在做Linux負載計算的時候,我們需要了解負載的幾個概念
1)Linux負載是什么
2)Linux負載怎么計算
3)如何區分目前負載是“好”還是“壞”
4)什么時候應該注意哪些不正常的值
1)Linux負載是什么
我們怎么來理解Linux的負載呢? 打個比方
一核CPU對應我們一條公路,一個進程對應一輛汽車。
在一條公路上,只有一輛汽車行駛,load=1沒有出現擁堵的情況
如果有兩量汽車行駛在一條公路上行駛,會出現擁堵的情況,需要排隊,這是load=2
如果我們CPU是這種情況:


cpu核數=12,當系統load=12時,系統cpu剛剛好在該機器cpu能處理的范圍內
當load>12時,機器就超出負荷了,會有任務出現等待的情況。
2)Linux負載怎么計算
load average數據是每隔5秒鍾檢查一次活躍的進程數,然后按特定算法計算出的數值,然后用這個值和當前機器的cpu核數進行相除,得到的值
load= process/total_cpu_cores
3)如何區分目前負載是“好”還是“壞”
負載的好和壞:
需要根據機器當前的進程數與CPU總核數的比值(process_cores_values)和CPU總核數(total_cores)來比較
當 process_cores_values <= total_cores 時,機器負載在CPU合理承受范圍內
當 process_cores_values > total_cores 時,機器負載超過CPU承受范圍,機器超負荷運行。
4)什么時候應該注意哪些不正常的值
在我們執行top或者uptime的時候會有3個load的值,那我們根據哪個值做為我們判斷依據呢?
我覺得我們還是着眼5分鍾和15分鍾的load值比較合適,因為1分鍾的值有可能是個瞬間值,而5分鍾或者15分鍾的值是平均值,長時間負載高,機器肯定是需要排查問題的。