歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> linux系統負載詳解

linux系統負載詳解

日期:2017/2/27 16:06:18   编辑:Linux教程
在進程調度器維護的運行隊列中,任何時刻至少存在一個進程,那就是正在運行的進程。而當運行隊列中有不止一個進程時,就說明此時CPU比較搶手,其他進程還在等著,進程調度器應該盡快讓正在運行的基礎釋放CPU。
通過在任何時刻查看/proc/loadavg,可以了解到運行隊列的情況:
[root@localhost ~]# cat /proc/loadavg
0.00 0.02 0.05 1/335 3427

注意1/335這部分,其中的1代表此時運行隊列中的進程個數,而335則代表此時的進程總數。
最右邊的3427代表到此時為止,最後創建的一個進程ID。
接下來,請看左邊的三個數值,分別是0.00 0.02 0.05,他們就是我們常說的系統負載。我們都知道,系統負載越高,代表CPU越繁忙,越無法很好地滿足所有進程的需要。但是,系統負載是如何計算而來的呢?根據定義,它是在單位時間內運行隊列中就緒等待的進程數平均值,所以當運行隊列中就緒進程不需要等待就可以馬上獲得CPU的時候,系統負載便非常低。當系統負載為0.00時,說明任何進程只要就緒後就可以馬上獲得CPU,不需要等待,這時候系統響應速度最快。
那麼,剛才提到的三個數值,便是系統最近1分鐘、5分鐘、15分鐘分別計算得出的系統負載。
我們還可以通過其他方法獲得系統負載,比如top、w等工具:
[root@localhost ~]# top
top - 15:24:25 up 99 days, 5:01, 1 user, load average: 0.13, 0.05, 0.05

[root@localhost ~]# w
15:24:59 up 99 days, 5:02, 1 user, load average: 0.07, 0.04, 0.05
從實現方法上看,這些工具獲得的系統負載都是來源於/proc/loadavg。
Copyright © Linux教程網 All Rights Reserved