uptime
报告过去 1、5 和 15 分钟的平均负载。
如何查看过去 10 秒的平均负载?
答案1
这是不可能的,因为内核不计算它。(当然,你可以修补内核……)。
请记住,平均负载不是您在高中学习计算的一组数字的“常规平均值”。保留大约 15 分钟的样本并每秒多次计算该数组的 3 个平均值将需要太多的内存和 CPU 能力。
Linux 上的“平均负载”是指指数阻尼/加权移动平均线, 意义它表示随着时间的推移而形成的趋势。 看我对这个相关问题的回答查找包含更多信息的网站链接。
如果你懂一点编程,那么从内核源代码中理解其实也很容易——这就是有人教我的方法。请参阅 Linux Journal 文章链接的第 2 页。
答案2
JanC 的解释是正确的。但是,您可以通过测量系统的运行队列长度(等待 CPU 的活动线程数)来计算这一点。不幸的是,Linux 没有可用的实用程序/工具。如果您想解决这个问题,您可以在 OpenSolris 上使用 DTrace 脚本以微秒的分辨率执行此操作。这非常简单。您可以在 WEB 上轻松找到这样的脚本。