相关疑难解决方法(0)

为什么 Linux 负载计算中不使用简单的 1/5/15 分钟移动平均值?

直到最近,我认为负载平均值(如顶部所示)是处于“可运行”或“正在运行”状态的进程数的最后 n 个值的移动平均值。并且 n 将由移动平均线的“长度”定义:由于计算平均负载的算法似乎每 5 秒触发一次,对于 1 分钟平均负载,n 将为 12,对于 5 分钟平均负载为 12x5 和 12x15对于 15 分钟的平均负载。

但后来我读了这篇文章:http : //www.linuxjournal.com/article/9001。这篇文章已经很老了,但今天在 Linux 内核中实现了相同的算法。负载平均值不是移动平均值,而是一种我不知道名称的算法。无论如何,我对 Linux 内核算法和虚拟周期性负载的移动平均值进行了比较:

负荷图.

这是个很大的差异。

最后我的问题是:

  • 与真正的移动平均线相比,为什么选择这种实现方式,这对任何人都有真正的意义?
  • 为什么每个人都谈论“1 分钟平均负载”,因为算法考虑了比最后一分钟多得多的内容。(数学上,自启动以来的所有度量;在实践中,考虑到舍入误差——仍然有很多度量)

linux kernel monitoring load algorithms

29
推荐指数
1
解决办法
3644
查看次数

我应该关心增加系统负载的应用程序以防止过热吗?

我发现当负载高于 4.0(有 4 个内核)时,我的“PCI 适配器”会过热。当负载低于 4.0 时它不会过热(但我有一个超频的内存,正如我在最后解释的那样导致了问题),所以我的重点是降低系统负载。过热只是k10temp-pci-00c3 PCI Adapter(根据传感器)。

错误:
我试图跟踪构成该值的应用程序,以及每个应用程序做了多少。

这个问题,我发现atop,但阅读它的输出,不清楚哪些应用程序组成了系统负载......就像一个“简单”的列显示缺少SYSLOAD。似乎我可以使用所有显示的信息来计算可以显示此类列的内容,但我只是不知道如何。

我发现的关于系统负载的解释似乎过于笼统(我可能是错的..),所以我无法理解它们以产生算法;我想我应该混合一些数据,如 cpu 使用情况、io 使用情况、mem 使用情况等,即使它有点模糊地猜测,也可以获取系统负载...

关于系统负载如何工作的精确信息
在这个问题上有一个对解释它pdf的参考。负载似乎与特定应用程序并不完全相关...

仍然需要一个解决方法
无论如何,我仍然想知道关于系统负载的应用程序方法有多大可能,可能有某种方法可以将整个系统利用率优先考虑到某些特定应用程序,而其他所有应用程序都会阻塞它,甚至当他们不使用太多 CPU(少于 3%)时,冷静下来?

正在进行的测试
我将所有进程设置为nice -n 19,但我正在积极使用一个窗口/进程;我看到 psensor 对温度图的改进(该图不那么模糊了);温度保持更长时间,现在低于极限;所有进程似乎都按预期运行;系统负载仍然很高,但我看到它曾经到6.0并且温度仍然很好;没有突然关机,因为……需要更多的测试……

终于找到罪魁祸首
我的内存应该接受2000MHz。很久以前,我将它设置为 1600MHz,因为否则机器将无法启动。现在我将它设置为自动,是什么让它在 1333MHz 下工作。当我运行繁重的应用程序时,现在过热(达到80 摄氏度以上)的k10temp-pci-00c3温度始终保持在60 摄氏度左右!此外,平均负载约为 3.5 到 4.0,不会导致任何硬件问题!在漂亮19中的进程帮助推迟的确是过热,但wasnt能够完全阻止它!

cpu top load application htop

1
推荐指数
1
解决办法
275
查看次数

标签 统计

load ×2

algorithms ×1

application ×1

cpu ×1

htop ×1

kernel ×1

linux ×1

monitoring ×1

top ×1