DBAtlas · データベース運用アトラス

OOM: OOM command not allowed when used memory > 'maxmemory'(使用メモリが maxmemory を超えたためコマンド不可)

Redis

意味

Redis の使用メモリが maxmemory の上限に達し、エビクション (eviction) ポリシーで新しいデータ用の領域を確保できないため、書き込みコマンドが拒否される。メモリが満杯で、書き込みができない。

原因

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 で開く →

同じデータベースの他の項目