有什么实用程序可以找到特定时期内系统负载/平均负载的来源?

Qua*_*dom 12 load

通过运行 top、htop、uptime 等,我们可以看到平均负载为三个值,表示过去 1/5/15 分钟的平均负载(实际上不是,但这不是这里的问题)。

有时我会注意到过去 15 分钟的平均负载相当高,但当前负载非常低。是否有实用程序/程序可以列出在过去 1/5/15 分钟(或其他类似时间段)内消耗最多 CPU 时间的进程(即使它们不再存在)?

我知道平均负载也可能是由等待 I/O 的进程引起的,但我最感兴趣的是看到最消耗 CPU 的应用程序(尽管能够看到历史 I/O 也很好)。

据我所知,运行 htop 并按时间排序在这里对我没有帮助,因为如果计算机已经运行了一段时间,那么最高值不一定与最近的过去有关。

ger*_*ijk 11

我建议使用atop. 默认情况下,它是一个守护进程,每 10 分钟收集一次所有“顶级”信息,您可以及时返回查看这些“顶级”快照。根据您的需要调整默认间隔设置(如果设置得更频繁会消耗更多磁盘空间)。

就在昨天,我回答了一个类似的问题,其中包含了一个非常简短的操作方法。


Kar*_*son 7

根据 htop 的指示判断,我假设您正在运行 Linux。

您可以查看一个名为sar的实用程序,它在 Solaris 上经常使用,但我很少看到它在 Linux 上使用。它能够记录一天的系统活动,然后以不同的时间间隔报告它。您也可以查看Orca,但数据统计仍然是每个系统。

如果您需要每个流程数据,显然有像TeamQuest这样的付费产品。