CPU的負載


一.簡介

使用top或者uptime命令可以看到cpu平均負載,1,5,15分鍾

平均負載包括以下幾個部分:

  • 正在運行的進程。正在使用cpu做計算的進程,ps看到R 也就是running。
  • 等待運行的進程。cpu跑滿了,等待執行的進程,ps看到的R 也就是runnable。
  • 不可中斷進程。等待硬件設備IO響應的進程,ps看到的D,也就是disk sleep,對硬件設備的一種保護。當一個進程在向硬盤寫數據,如果被其它進程打斷了,那數據將會不一致。

平均負載是指單位時間內,處於可運行狀態和不可中斷狀態的進程數。

如果是多個cpu,先計算每個cpu的平均負載,再求和

平均負載並非使用率。cpu頂多100%,不可能120%使用率,但負載可以是200%,因為還有等待運行的進程。

二.合理的負載

理想情況下,5個cpu,負載為5是最好的,都滿載。

當1分鍾,5分鍾,15分鍾相差不大,說明系統很穩定
當1分鍾小於15分鍾,說明過去15分鍾負載很高,當前正在降低
當1分鍾大於15分鍾,說明負載正在增加,過去15分鍾負載比較低
當平均負載超過cpu核心數70%就要注意了,可能有大量任務堆積,需要排查。

但是:
當有10個cpu核心時,負載顯示1則說明可能有一個cpu滿載,也可能是10個cpu都使用10%
當有10個cpu核心時,負載顯示10則說明可能有一個cpu滿載,並有900%任務在等待,也可能10個cpu都滿載

所以:
需要可以使用htop等工具來查看cpu是否都集中在一個上面運行。若是4核心,但負載都集中在一個上,程序依然會很慢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM