linux平均负载的含义

来源:Linuxeden 作者:blackspace
  负载的定义:
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能力限制的。

你不必担心平均负载,除非平均负载持续的高于系统核心数或者处理器数。

部分内容参考于网络资源





时间:2009-06-03 14:24 来源:Linuxeden 作者:blackspace 原文链接

好文,顶一下
(6)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量