在 linux 系统上,您的标准正常运行时间命令返回以下内容:
6.46, 6.00, 4.51
大多数人可能都知道,这些对应于 1、5 和 15 分钟的平均负载。
我想知道是否有可能从某个地方拉取(/proc/...?)或手动解析(ps aux?)系统负载平均值的更实时快照?
可以从任何地方解析/提取吗?
最佳答案
您可以查看/proc/uptime,其中包含做某事所花费的 CPU 时间与总时间。通过反复监控,您可以有效地为您选择的任何 EWMA 窗口采集样本。
或者,如果你喜欢挑战,你可以从/proc/loadavg 中获取 old_loadavg_value
和 new_loadavg_value
并求解线性系统
new_loadavg1_value = alpha_1 * old_loadavg1_value + (1-alpha_1) * new_sample
new_loadavg5_value = alpha_5 * old_loadavg5_value + (1-alpha_5) * new_sample
new_loadavg15_value = alpha_15 * old_loadavg15_value + (1-alpha_15) * new_sample
对于 new_sample
,然后使用反射(reflect)您所需窗口的 alpha
再次向前计算。
关于linux - 在 Linux 系统上读取短于 1 分钟的平均负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8879370/