您的位置:首页 > 运维架构 > Linux

理解Linux和其他UNIX-Like系统上的平均负载

2014-08-17 13:55 381 查看
理解Linux和其他UNIX-Like系统上的平均负载


Linux,Mac以及其他UNIX-like系统都能显示出“load average”信息。这些数字告诉你,你系统的CPU、硬盘、以及其他资源的忙碌程度。他们看起来很难理解,但是要想熟悉他们其实非常容易。 无论你是在用Linux桌面版还是服务器版,亦或是基于Linux的路由器固件、基于Linux或BSD的网络附属存储系统,甚至是Mac OS X,你随时随地都有可能看到“load average”的度量值。负载VS平均负载 在UNIX-like系统上,包括Linux系统,系统负载是用来评估系统执行了多少工作的度量,这种度量是用数字显示出来的。一台完全处于空闲状态的计算机,其平均负载为0。每一个处于运行状态的进程,不管它是正在使用还是在等待CPU资源,都会给平均负载加1。所以如果你的系统的平均负载是5,说明有5个进程正在使用或等待CPU。 传统的UNIX系统一般仅对等待CPU的进程计数,但是Linux也把等待其他资源的进程一并计数进去。例如那些正在等待读写硬盘的进程。 就其本身而言,负载参数并不意味着什么,若一些进程在使用CPU,那么计算机在一瞬间可能负载为0,而在另一瞬间又可能负载为5,。即使你在任何给定时刻都能知道负载数目,这些数字基本上也没有什么意义。 这就是UNIX-like系统不显示当前时刻负载的原因。它们使用平均负载――在几个时间周期内,计算机负载的平均值。这些会告诉你,你的计算机到底执行了多少工作。

查看平均负载 平均负载可以显示在不同的图形以及终端工具上,包括命令行以及gnome系统监视工具。其实,查看你的平均负载最简单、最标准的方式是在终端里运行“uptime”命令。这个命令显示了你计算机的平均负载,还有计算机已经开启的时间。 uptime命令可以运行在Linux,Mac OS X或者是其他UNIX-like系统中。如果你使用的Linux或基于BSD的设备有一个web界面――例如DD-WRT路由固件或NAS系统――你将有可能在状态页面上看到平均负载信息。

理解平均负载 你第一眼看到平均负载,这数字看起来完全没有意义。下面是一个平均负载的输出示例 load average: 1.05, 0.70, 5.09 从左到右,这些数字展示给你过去1分钟、过去5分钟、过去15分钟的平均负载。换句话说,上面的输出意思是: 过去1分钟平均负载:1.05 过去5分钟平均负载:0.70 过去15分钟平均负载:5.09 省略输出时间周期是为了节省空间,只要你熟悉了时间周期,你可以迅速的扫一遍平均负载数并且理解他们意味着什么。

确切的讲,这些数字到底意味着什么 让我们使用上面的数字来理解平均负载的实际意义。假设你使用的是单处理器系统,这些数字将会告诉我们: 在过去的1分钟里:计算机平均过载5%。平均来说,.05个进程正在等待CPU。(1.05) 在过去的5分钟里:CPU 30%的时间保持空闲。(0.70) 在过去的15分钟里:计算机平均过载409%。平均来说,4.09的进程正在等待CPU。(5.09) 你的系统也许有多个CPU,或者有多核CPU。那么平均负载就会有一点不同。例如,如果你在单处理器系统上的平均负载是2,这意味着你的系统过载了100%――在整个时间周期里,当一个进程在使用CPU时,另一个进程在等待CPU。然而在有两个CPU的系统上,这正好表示资源完全使用――再整个时间周期里,两个不同的进程在使用两个不同的CPU。在四个CPU的系统上,这表明资源使用量是一半――两个进程使用两个CPU,另外两个CPU空闲。 要想理解平均负载数字的意义,你需要知道你的系统有多少个CPU,平均负载6.03意味着单CPU系统过载严重,但是在8个CPU的系统上却表示运行良好。

平均负载在服务器和嵌入式系统上非常有用,你可以扫视一遍来确定你系统的运行状态。如果过载了,你也许需要处理一下那些浪费资源的进程,多提供一些硬件资源,或者是把一些工作转移到另一个系统上。
翻译自:http://www.howtogeek.com/194642/understanding-the-load-average-on-linux-and-other-unix-like-systems/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: