首页/数据/数据库速查/maxmemory 内存上限与 OOM 行为
Redis 运维与场景124 条

maxmemory 内存上限与 OOM 行为

maxmemory 是实例内存红线:达到上限后按策略淘汰;若无可淘汰键则写命令报 OOM,读与 DEL 仍可执行。

数据库速查数据更新于 2026-10-12

查看与设置

查看与设置
CONFIG GET maxmemory          # 字节;0 表示不限制(物理内存保护关闭)
CONFIG SET maxmemory 8gb
CONFIG SET maxmemory-policy allkeys-lru
INFO memory | grep -E 'used_memory_human|maxmemory_human|maxmemory_policy'
# 报错示例:
# OOM command not allowed when used memory > 'maxmemory'.
0不限制(不推荐,物理内存打满引发 OOM/swap)
建议值物理内存 60%-75%,给 fork/COW 与系统留余量
超限后写被拒/淘汰启动,取决于策略与可淘汰键
maxmemory 只算数据+开销,不含 fork 时 COW 复制出来的页;所以 maxmemory 贴近物理内存的大实例快照时仍可能 OOM。

易错点

  • maxmemory=0 又没设置告警:内存涨到系统 OOM Killer 杀进程
  • 设置成物理内存 100%:fork 期间内存峰值直接爆

数据来源与参考

  • Redis 官方文档: maxmemory
  • Redis 官方文档: 内存管理

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌