Linux负载平均值的深入解析与实验探究
1. 引言
在操作系统性能评估中,负载平均值是一个关键指标,但它的计算实现可能因操作系统新版本缺乏适当的质量保证而出现偏差。通过图形化方式展示采样的负载平均值数据,能显著提升数据呈现质量。例如,ORCA工具可将负载平均值以时间序列的形式展示,让用户能在更广泛的时间窗口内观察每个负载平均值样本的相对重要性,这是通用Unix性能工具难以做到的。
那么,什么是“平均”负载呢?不同人有不同的看法。有人认为理想情况下负载平均值应低于3,不过“高负载”的定义取决于具体系统。例如,在某些系统中,即使负载平均值较低,运行一个CPU密集型的后台作业也可能导致响应变慢。
Blair Zajac指出,如果长期趋势显示负载值不断增加,除非能转移负载,否则最终可能需要更多或更快的CPU。对于CPU的理想利用率,负载平均值的最大值应等于CPU的数量。若所有运行进程的负载平均值恰好与物理处理器数量匹配,排队现象不太可能发生,这是并行或批处理可能达到的理想状态。但对于通用工作负载,一定程度的排队通常是可以接受的,因为它对性能的影响很小。平均运行队列长度Q和进程在运行队列中花费的平均时间R之间的关系遵循Little定律:Q = λR。在给定的CPU利用率下,驻留时间曲线的拐点尖锐程度取决于物理处理器的数量。
从这些不同的观点可以看出,负载平均值这个指标存在一些令人困惑的地方。它并非普通意义上的平均值,而是一种与时间相关的特殊平均值。
2. 简单实验
为了深入探究负载平均值的本质,进行了一个受控性能实验。实验在一个单CPU的Linux系统上进行,持续时间为一小时,分为两个阶段:
- 启动两个CPU密集型进程在后台
超级会员免费看
订阅专栏 解锁全文

16

被折叠的 条评论
为什么被折叠?



