歡迎您光臨本站 註冊首頁

linux平均負載的含義

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  負載的定義:
Tim O'Reilly and Crew, p.726
    平均負載試圖度量任何時間的活動進程數量。作為cpu利用率的度量,平均負載是很簡單的,沒有精確的定義,但很有用。

Adrian Cockcroft, p.229
    平均負載是當前cpu上的運行隊列長度和正在運行的任務數之和。在Solaris 2.0 and 2.2平均負載不包括正在運行的任務數,這個bug在Solaris 2.3已經修正。

定義3
    平均負載是變成有效狀態的進程(原先等待資源排隊)數加上當前運行的進程數。

定義4
    Linux遵循了傳統Unix的標準,它統計的load average是在一個時間段中處於可運行或處於運行狀態的進程平均數量加上處於D狀態的進程
    (R = 運行 S = 休眠 D = 等待 )。
    Linux上的load average表明的是系統的要完成的"工作", "工作"既有CPU密集的程序,也有I/O密集的程序。或者是CPU和I/O並重的程序。

定義5
    通過統計運行在cpu上運行的和可運行的進程,unix統計平均負載。linux和unix一樣,但是也統計在不可中斷睡眠狀態的進程。不可中斷睡眠狀態的進程通常意味著一個進程阻塞在I/o,例如等待磁碟。


平均的定義
    平均負載是負載的移動平均,top顯示的3個數字是1分鐘,5分鐘,15分鐘的移動平均


linux查看平均負載
apple@ubuntu:~$ procinfo
Memory:        Total        Used        Free     Buffers                      
RAM:         1018580      995712       22868       66244                      
Swap:         522072      157592      364480                                  

Bootup: Wed Jun  3 07:50:11 2009   Load average: 3.75 3.16 3.47 6/264 11601   

user  :   00:40:03.05  19.5%  page in :         16083696                      
nice  :   00:02:09.05   1.0%  page out:         15227028                      
system:   01:35:21.93  46.4%  page act:          2246522                      
IOwait:   00:40:05.57  19.5%  page dea:          2297177                      
hw irq:   00:01:01.68   0.5%  page flt:          6246530                      
sw irq:   00:01:39.03   0.8%  swap in :            19640                      
idle  :   00:25:03.91  12.2%  swap out:            43581                      
uptime:   03:25:23.79         context :         26731214                      

irq   0:        193  timer               irq  12:     479257  i8042           
irq   1:       5460  i8042               irq  14:    1552361  ata_piix        
irq   3:          6                      irq  15:          0  ata_piix        
irq   4:          6                      irq  16:    1384413  uhci_hcd:usb5, i9
irq   6:          2  floppy              irq  17:      74792  Intel ICH6      
irq   7:          0  parport0            irq  18:          0  uhci_hcd:usb4   
irq   8:      20419  rtc0                irq  19:      36623  uhci_hcd:usb3, et
irq   9:          0  acpi                irq  23:          0  ehci_hcd:usb1, uh

sda           744351r          808004w   sda6          220811r           25714w
sda1              35r               0w   sda7           36342r           11954w
sda2               4r               0w   sda8            4549r            2245w
sda5             839r               4w   sda9          481744r          768087w

lo          TX 364.71KiB     RX 364.71KiB     vmnet1      TX 0.00B         RX 0.00B       
eth0        TX 1.72MiB       RX 9.80MiB       vmnet8      TX 0.00B         RX 0.00B 

apple@ubuntu:~$ uptime
 11:17:47 up  3:27,  2 users,  load average: 3.81, 3.30, 3.47
apple@ubuntu:~$



平均負載的引申含義
假如系統有M個核心或者處理器而且平均負載是M,說明系統充分利用。如果平均負載大於M,說明多餘的進程在被執行前必須在可運行隊列中等待。

當平均負載小於M,說明系統性能不是被cpu能力限制的。

你不必擔心平均負載,除非平均負載持續的高於系統核心數或者處理器數。

部分內容參考於網路資源






[火星人 ] linux平均負載的含義已經有508次圍觀

http://coctec.com/docs/enterprise/show-post-73153.html