如何查看linux機器的平均負載


什么是機器平均負載?

    特定的時間間隔內,排隊等待cpu處理的進程數,排隊等待的進程越多,說明cpu處理的慢,機器的平均負載約大

如何衡量當前系統是否負載過高?
        如果每個cpu(可以按CPU核心的數量計算)上當前活動進程數不大於3,則系統性能良好,
        不大於4,表示可以接受
        如大於5,則系統性能問題嚴重
    
        建議設置嚴格的報警值為: CPU核心的數量
        比如:CPU核心數量為2,則設置報警值為2
        (這樣設置是合理的,因為畢竟不是每個應用都支持多CPU及多核心)

 什么時候需要查看機器的負載?

    當你的系統請求慢的無法忍受的時候

如何查看?常用命令:

  upTime:  它顯示自從上次系統重啟以來,活動的用戶進程數量和所謂的平均負荷指標(load average)。

 

11:38:54 當前時間
up 708 days 系統運行時間
2 users 當前登錄用戶數
load average: 0.08, 0.02, 0.01 系統負載,即任務隊列的平均長度。 三個數值分別為  1分鍾、5分鍾、15分鍾前到現在的平均值。

top:動態顯示

1. 第一行是任務隊列信息

同 uptime  命令的執行結果:

[root@localhost ~]# uptime

 13:22:30 up 8 min,  4 users,  load average: 0.14, 0.38, 0.25

其內容如下:

12:38:33

當前時間

up 50days

系統運行時間,格式為時:分

1 user

當前登錄用戶數

load average: 0.06, 0.60, 0.48

系統負載,即任務隊列的平均長度。 三個數值分別為  1分鍾、5分鍾、15分鍾前到現在的平均值。

2. 第二、三行為進程和CPU的信息

當有多個CPU時,這些內容可能會超過兩行。內容如下:

Tasks: 29 total

進程總數

1 running

正在運行的進程數

28 sleeping

睡眠的進程數

0 stopped

停止的進程數

0 zombie

僵屍進程數

Cpu(s): 0.3% us

用戶空間占用CPU百分比

1.0% sy

內核空間占用CPU百分比

0.0% ni

用戶進程空間內改變過優先級的進程占用CPU百分比

98.7% id

空閑CPU百分比

0.0% wa

等待輸入輸出的CPU時間百分比

0.0% hi

 

0.0% si

 

3. 第四五行為內存信息。

內容如下:

Mem: 191272k total

物理內存總量

173656k used

使用的物理內存總量

17616k free

空閑內存總量

22052k buffers

用作內核緩存的內存量

Swap: 192772k total

交換區總量

0k used

使用的交換區總量

192772k free

空閑交換區總量

123988k cached

緩沖的交換區總量。 內存中的內容被換出到交換區,而后又被換入到內存,但使用過的交換區尚未被覆蓋, 該數值即為這些內容已存在於內存中的交換區的大小。相應的內存再次被換出時可不必再對交換區寫入。

二.  進程信息

列名

含義

PID

進程id

PPID

父進程id

RUSER

Real user name

UID

進程所有者的用戶id

USER

進程所有者的用戶名

GROUP

進程所有者的組名

TTY

啟動進程的終端名。不是從終端啟動的進程則顯示為 ?

PR

優先級

NI

nice值。負值表示高優先級,正值表示低優先級

P

最后使用的CPU,僅在多CPU環境下有意義

%CPU

上次更新到現在的CPU時間占用百分比

TIME

進程使用的CPU時間總計,單位秒

TIME+

進程使用的CPU時間總計,單位1/100秒

%MEM

進程使用的物理內存百分比

VIRT

進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

SWAP

進程使用的虛擬內存中,被換出的大小,單位kb。

RES

進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA

CODE

可執行代碼占用的物理內存大小,單位kb

DATA

可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb

SHR

共享內存大小,單位kb

nFLT

頁面錯誤次數

nDRT

最后一次寫入到現在,被修改過的頁面數。

S

進程狀態。
            D=不可中斷的睡眠狀態
            R=運行
            S=睡眠
            T=跟蹤/停止
            Z=僵屍進程

COMMAND

命令名/命令行

WCHAN

若該進程在睡眠,則顯示睡眠中的系統函數名

Flags

任務標志,參考 sched.h

 


免責聲明!

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



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