平均负载在Unix / Linux上意味着什么?


68

如果我跑步uptime,我会得到如下信息:

10:50:30 up 366 days, 23:27,  1 user,  load average: 1.27, 2.06, 1.54

这些数字到底意味着什么?手册页告诉我这是“最近1、5和15分钟内系统的平均负载”。但是规模是多少?是1.27高吗?低?是否取决于我的系统?


2
我想知道如何在多核CPU系统上解释平均负载。
nagul

3
通常,对于多核系统,应将平均负载除以CPU数量。因此,双核系统上的2.0负载大约等于单核系统上的1.0。由于磁盘I / O和网络故障等原因,这并不是完全正确的,但是无论如何,负载都是粗略的估计。
Mike Cooper

1
我发现此博客非常有用:了解Linux CPU负载
至少2014年

Answers:


59

平均负载是衡量平均有多少个进程的指标,同时需要CPU的注意。

通常,如果您有一个进程以100%的速度运行,并且在所有永恒的过程中都一样,那么您可以期望所有值都接近“ 1”。

通常,这是您获得的尽可能高效的计算,不会因上下文切换而造成任何损失。

但是,在现代的多任务OS上,有很多事情需要CPU的注意,因此在单个进程有中等负载的情况下,平均负载应在0.8到2之间浮动。

如果您决定做一些疯狂的事情,例如使用来构建内核make -j 60,尽管它只有一个逻辑处理器,那么平均负载将接近60,并且您的计算机将变得无用(死于上下文切换)。

还要注意的是,该指标与有多少个内核/ CPU无关。对于两核系统,运行一个消耗整个核心的进程(使另一个空闲)将导致平均负载为1.0。为了确定系统的负载,您需要知道核心数量并自行进行划分。


1
那么平均负载小于1意味着“进程通常不必等待”?我是否可以将平均负载2解释为“每个过程所需时间大约是理想条件下的两倍”?(我知道也有I / O
值得

是的,这很有意义,而忽略了IO;)
肯特·弗雷德里克

@KentFredric“通常来说,这是尽可能高效的计算,不会因上下文切换而造成损失。” ... 1个进程始终始终以100%的效率运行吗?当然,我这里缺少一些基本的东西。您能解释一下您的意思吗?我感到困惑,因为一个进程占用所有cpu资源的效率如何被描述为有效?
极客

2
我知道一个运行在100%的进程听起来并不十分“高效”,但是如果该进程任意地将自身限制为仅使用20%,则将花费5倍的时间。因此,这里的效率意味着“最佳资源利用”。
肯特·弗雷德里克

1
因此,对于n核系统,平均负载为n意味着每个核正在/正在100%地处理一个进程,因此效率最高吗?
joshreesjones

9

男子5进程:

/ proc / loadavg此文件的前三个字段是平均负载数字,给出运行队列(状态R)或等待磁盘I / O(状态D)平均超过1、5和15分钟的作业数。它们与uptime(1)和其他程序给出的平均负载数相同。


3

通常,它测量给定时间的活动进程数,但是在某些系统上,用于计算活动进程的度量标准有所不同。我发现的唯一一篇可以很好地解释这一点的文章是这篇


2
该链接的日期为'03。从那时起,Linux 2.6出现了。(您会注意到,他们使用的是2.0,哎呀。)现在这些指标在实践中似乎与该页面上所述的有所不同。
肯特·弗雷德里克

这是06年末的版本,与链接的文章没有什么不同:linuxjournal.com/article/9001
nagul

您的链接仍然有效,其终端输出来自2001年😂太棒了
MS Berends

2

我从课程参考中引用:

平均负载是给定时间段内负载数量的平均值。它考虑了以下过程:

  • 主动在CPU上运行。
  • 认为是可运行的,但是正在等待CPU可用。
  • 睡眠:即,等待某种资源(通常是I / O)可用。

我进一步解释了平均负载

使用三组不同的数字显示平均负载,如以下示例所示:

最后一条信息是系统的平均负载。假设我们的系统是单CPU系统,则0.25表示在过去一分钟中,该系统平均已使用25%。下一个位置0.12表示在过去5分钟内,该系统平均已使用12%;而最终排名为0.15,则表示在过去15分钟内,该系统平均已使用了15%。如果我们在第二个位置看到值1.00,则意味着单CPU系统在过去5分钟内的平均利用率为100%;如果我们要充分使用系统,这很好。对于单CPU系统,该值大于1.00表示该系统被过度利用:需要CPU的进程多于可用CPU。

如果我们有多个CPU(例如四CPU系统),则可以将平均负载数除以CPU数。例如,在这种情况下,看到1分钟的平均负载为4.00,则表示整个系统在最后一分钟内使用了100%(4.00 / 4)。

短期增加通常不是问题。您看到的高峰可能是一阵活跃,而不是一个新的水平。例如,在启动时,许多进程启动,然后活动稳定下来。如果在5分钟和15分钟的平均负载中看到一个高峰值,则可能令人担忧。


将链接添加到您的参考会很方便。
Pierz

那很难。这是Linux Foundation的在线课程,旨在为LFCS考试做准备。
Ely
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.