Linux Load Average详解

在这里可以讨论服务器管理相关技术

版主: jvip_chen

回复
头像
jvip_chen
社区版主
社区版主
帖子: 177
注册时间: 2019年 1月 5日 13:36 星期六

Linux Load Average详解

帖子 jvip_chen »

定义
在Linux,以及其他类Unix的系统中,常用该系统正在进行的运算工作来衡量该系统的系统负荷(System Load)。一个完全空闲的系统,它的负荷(System Load)标记为0;每一个正在运行或者正在等待CPU资源的进程,会导致平均负荷(System Load )加1。所以,如果一个系统的负荷是4,就是说有4个进程正在使用,或者正在等待CPU资源。

因为系统负荷(System Load)是不断变化的,所以显示特定时刻的系统负荷(System Load)意义不大。相反,Linux显示平均负荷(Load Average): 在一定的时间段内,系统的负荷的平均数。

操作
平均负荷(Load Average)显示在很多图形或命令行工具中。
最通用的是 top 命令

代码: 全选

top - 20:24:43 up 2 days,  2:15,  1 user,  load average: 0.64, 0.53, 0.59
Tasks: 352 total,   1 running, 349 sleeping,   0 stopped,   2 zombie
%Cpu(s): 14.0 us,  1.8 sy,  0.8 ni, 81.9 id,  0.0 wa,  0.0 hi,  1.5 si,  0.0 st
MiB Mem :  23818.1 total,   7361.1 free,   5379.6 used,  11077.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.  16985.6 avail Mem 
和uptime命令

代码: 全选

┌─[✗]─[mrchen@mrchen-ThinkPad]─[~]
└──╼ $uptime 
 20:25:05 up 2 days,  2:15,  1 user,  load average: 0.50, 0.51, 0.58
┌─[mrchen@mrchen-ThinkPad]─[~]
管理
对于单核系统,管理员一般认为load average低于0.7是安全的。load average接近1表明CPU在全力运作。如果再有额外的计算请求,CPU就会过载,系统运行效率就会减慢。当load average大于5是,系统已经有严重的问题了,进程的切换大大降低了CPU运行效率,管理员需要马上进行干预。

对于多核系统,CPU处理能力扩大n倍,对应load average 的安全值也扩大n倍。比如:对于双核系统,load average 等于2 表明系统接近CPU全负荷;对于四核系统,load average 等于4表明系统全负荷。

管理员可以通过以下命令来发现系统有多少核

代码: 全选

cat /proc/cpuinfo

回复