DBAtlas · 数据库运维图谱

OOM: OOM command not allowed when used memory > 'maxmemory'(已用内存 > 'maxmemory' 时不允许执行命令)

Redis

含义

Redis 使用的内存已达到 maxmemory 限制,由于淘汰策略无法为新数据腾出空间,写命令被拒绝。内存已满;无法写入。

原因

超出 maxmemory 限制、选择了 noeviction 策略(从不删除任何键)、没有 TTL 的数据不断增长、内存泄漏,或 RAM 不足以支撑该限制。

解决方法

检查内存使用:INFO memory 和 MEMORY USAGE。选择合适的淘汰策略(如 allkeys-lru 或 volatile-lru):CONFIG SET maxmemory-policy allkeys-lru。为键设置 TTL 以便自动清理。增大 maxmemory/RAM。找出并缩小大键(redis-cli --bigkeys)。清除不必要的数据。

在 DBAtlas 中打开 →

同一数据库的其他条目