首页/系统/服务器硬件与 RAID 速查/内存页离线(Page Offlining/Retirement)
内存与电源72 条

内存页离线(Page Offlining/Retirement)

内核检测到持续出错的物理页后会将其软离线或退役:数据搬到健康页、故障页不再分配。这能避免错误扩散,但物理故障并未消失。

内存页离线是什么

内存页离线与退役是内核层面的容错动作:内核检测到持续出错的物理页时,会把数据搬到健康页并停止使用故障页。它避免错误扩散,但物理故障并没有消失——页离线的出现,通常意味着对应的内存条需要安排更换。

基本信息

触发条件不可纠正错误,或达到策略阈值的可纠正错误
处理粒度页级,典型为 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

相关概念对照

概念执行者作用范围
页离线内核单个物理页停止使用
页退役内核页被永久标记不再分配
内存备用平台内存控制器以预留内存顶替故障条
内存镜像平台内存控制器提供全量冗余副本
页离线与内存控制器的修正机制作用层次不同:前者由内核软处理,后者由平台硬件处理,两者可能同时出现。统计时要区分“发生了几次离线”与“错误计数增长了多少”,前者更能反映是否需要换件。
把页离线当修复是误判:物理故障仍然存在,后续错误会继续出现,应及时安排更换而不是反复观察。

易错点

  • 把离线当修复:物理故障仍在,错误继续累积
  • 不把容量损失纳入监控:长期运行后容量与规划出现偏差
  • 只看错误计数不看内核事件:已经发生离线却无人知晓
  • 反复重启期望自愈:故障页不会修好,只增加业务中断

数据来源与参考

  • Linux 内核 MCE 文档(page offlining)
  • 厂商内存 RAS 指南(通用)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌