统计刷新间隔
控制内核更新虚拟机与系统统计信息的间隔,默认值为 1 秒。部分统计视图按这个节奏刷新,因此监控读数与瞬时事件之间天然存在滞后;它只影响统计口径的时效性,不改变系统实际的运行行为,也不适合当作性能调优手段。
基本信息
| 适用平台 | Linux 内核参数(vm 命名空间) |
|---|---|
| 参数名 | vm.stat_interval |
| 默认值 | 1 秒 |
| 受影响视图 | 部分进程与内存相关统计的刷新节奏 |
| 定位 | 统计口径参数,不是行为参数 |
典型使用场景
- 监控读数与瞬时事件对不上,需要确认统计刷新节奏。
- 解释指标为何在一段时间内保持不变,判断是否为刷新间隔造成。
- 在高核数系统上评估统计更新的开销是否值得调整。
- 排查采集脚本与监控系统的口径差异。
- 确认调整该参数不会带来实际性能收益。
查看与对照
查看与对照
sysctl vm.stat_interval # 查看当前刷新间隔
vmstat 1 3 # 逐秒观察,感受刷新节奏
cat /proc/vmstat | head -10 # 直接读取统计文件
grep -E 'pgpgin|pgpgout' /proc/vmstat # 观察具体计数随时间的变化
sar -r 1 3 # 与监控工具的口径对照
uptime # 结合负载趋势一起看视图与刷新
| 视图 | 刷新特征 | 注意 |
|---|---|---|
| 内存与页统计 | 按设定间隔更新 | 间隔内读数可能不变 |
| 进程与调度统计 | 部分计数实时更新 | 不同指标口径不一致 |
| 监控工具输出 | 取决于工具自身采样 | 与内核刷新间隔叠加 |
在高核数系统上放宽这个值可以轻微减少统计更新开销,但收益通常很小;没有明确测量结果支撑时不建议改动默认值。
排查瞬时抖动时要的是更细的采样工具,而不是调整这个参数:它只改变读数节奏,不会让系统跑得更快。
怀疑指标异常时先确认采集工具的采样间隔与内核刷新间隔是否叠加:两个间隔相乘才是读数实际能够反映的时间粒度。