内存页离线是什么
内存页离线与退役是内核层面的容错动作:内核检测到持续出错的物理页时,会把数据搬到健康页并停止使用故障页。它避免错误扩散,但物理故障并没有消失——页离线的出现,通常意味着对应的内存条需要安排更换。
基本信息
| 触发条件 | 不可纠正错误,或达到策略阈值的可纠正错误 |
|---|---|
| 处理粒度 | 页级,典型为 4 KiB 或更大 |
| 代价 | 可用内存小幅减少 |
| 观察方式 | 内核日志中的离线与退役关键字 |
| 与硬件修正的区别 | 内核软处理与内存控制器处理的层次不同 |
| 结论指向 | 出现页离线通常需要安排换件 |
典型使用场景
- 故障复盘:确认内存错误是否已被内核处理
- 监控建设:把页离线事件纳入告警,而不只看错误计数
- 容量核对:长期运行后核对容量与规划是否仍有差距
- 报修依据:为厂商提供内核日志作为证据
- 交叉印证:与 BMC 事件日志核对是否指向同一条内存
- 趋势观察:离线事件反复出现说明风险在累积
观察离线与退役记录
观察离线与退役记录
# 内核日志中的离线与退役记录
dmesg -T | grep -iE 'offlin|retire|soft offline' | tail -20
# 近一周的内核相关记录,便于按时间回溯
journalctl -k --since '7 days ago' | grep -iE 'offlin|retire' | tail -20相关概念对照
| 概念 | 执行者 | 作用范围 |
|---|---|---|
| 页离线 | 内核 | 单个物理页停止使用 |
| 页退役 | 内核 | 页被永久标记不再分配 |
| 内存备用 | 平台内存控制器 | 以预留内存顶替故障条 |
| 内存镜像 | 平台内存控制器 | 提供全量冗余副本 |
页离线与内存控制器的修正机制作用层次不同:前者由内核软处理,后者由平台硬件处理,两者可能同时出现。统计时要区分“发生了几次离线”与“错误计数增长了多少”,前者更能反映是否需要换件。
把页离线当修复是误判:物理故障仍然存在,后续错误会继续出现,应及时安排更换而不是反复观察。