如何查看较短时间段内的平均负载?

如何查看较短时间段内的平均负载?

uptime报告过去 1、5 和 15 分钟的平均负载。

如何查看过去 10 秒的平均负载?

答案1

这是不可能的,因为内核不计算它。(当然,你可以修补内核……)。

请记住,平均负载不是您在高中学习计算的一组数字的“常规平均值”。保留大约 15 分钟的样本并每秒多次计算该数组的 3 个平均值将需要太多的内存和 CPU 能力。

Linux 上的“平均负载”是指指数阻尼/加权移动平均线, 意义表示随着时间的推移而形成的趋势。 看我对这个相关问题的回答查找包含更多信息的网站链接。

如果你懂一点编程,那么从内核源代码中理解其实也很容易——这就是有人教我的方法。请参阅 Linux Journal 文章链接的第 2 页。

答案2

JanC 的解释是正确的。但是,您可以通过测量系统的运行队列长度(等待 CPU 的活动线程数)来计算这一点。不幸的是,Linux 没有可用的实用程序/工具。如果您想解决这个问题,您可以在 OpenSolris 上使用 DTrace 脚本以微秒的分辨率执行此操作。这非常简单。您可以在 WEB 上轻松找到这样的脚本。

相关内容