Linux系統負載解釋
阿里巴巴的一道筆試題說起
22、關於Linux系統的負載(Load),以下表述正確的是:
A: Load:2.5,1.3,1.1表示系統的負載壓力在逐漸減小
B: 通過就緒和運行的進程數來反映
C: 通過top命令查看
D: 通過uptime查看
root@ma-ThinkPad-T430:~# uptime
21:07:39 up 5:08, 2 users, load average: 0.32, 0.24, 0.26
那麼,怎麼會有三個數字的確讓人困擾。我們知道,0.32, 0.24, 0.26 分別說明上一分鐘、最後五分鐘以及最後十五分鐘的系統負載均值。那麼這又帶來了一個問題:我們以哪個數字爲準?一分鐘?五分鐘?還是十五分鐘?
我認爲應該着眼於五分鐘或者十五分鐘的平均數值。坦白講,如果前一分鐘的負載情況是 1.00,那麼仍可以說明認定服務器情況還是正常的。 但是如果十五分鐘的數值仍然保持在 1.00,那麼就值得注意了(根據我的經驗,這時候你應該增加的處理器數量了)。
root@ma-ThinkPad-T430:~# grep 'model name' /proc/cpuinfo | wc -l
8
這是查看CPU核數的命令
統計信息區前五行是系統整體的統計信息。
第一行是任務隊列信息,同 uptime 命令的執行結果。其內容如下:
20:48:22 當前時間
up 4:49 系統運行時間,格式爲時:分
2 users 當前登錄用戶數
load average: 0.35, 0.31, 0.37 系統負載,即任務隊列的平均長度, 三個數值分別爲 1分鐘、5分鐘、15分鐘前到現在的平均值。
第二、三行爲進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容如下:
Tasks: 214 total 進程總數
3 running 正在運行的進程數
210 sleeping 睡眠的進程數
1 stopped 停止的進程數
0 zombie 殭屍進程數
Cpu(s): 4.8% us 用戶空間佔用CPU百分比
2.5% sy 內核空間佔用CPU百分比
0.0% ni 用戶進程空間內改變過優先級的進程佔用CPU百分比
91.7% id 空閒CPU百分比
0.9% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.1% si
最後兩行爲內存信息。內容如下:
Mem: 7957612k total 物理內存總量
2159380k used 使用的物理內存總量
5798232k free 空閒內存總量
98348k buffers 用作內核緩存的內存量
Swap: 8077308k total 交換區總量
0k used 使用的交換區總量
8077308k free 空閒交換區總量
1247944k cached 緩衝的交換區總量。 內存中的內容被換出到交換區,而後又被換入到內存,但使用過的交換區尚未被覆蓋,該數值即爲這些內容已存在於內存中的交換區的大小。相應的內存再次被換出時可不必再對交換區寫入