OOM: OOM command not allowed when used memory > 'maxmemory'
RedisNe demek?
Redis'in kullandığı bellek maxmemory sınırına ulaştı ve eviction politikası yeni veri için yer açamadığından yazma komutları reddediliyor. Bellek dolu, yazma yapılamıyor.
Neden olur?
maxmemory sınırının aşılması, noeviction politikasının seçili olması (hiçbir anahtar silinmez), TTL'siz sürekli büyüyen veri, bellek sızıntısı veya sınıra göre yetersiz RAM.
Nasıl çözülür?
Bellek kullanımını inceleyin: INFO memory ve MEMORY USAGE. Uygun bir eviction politikası seçin (ör. allkeys-lru veya volatile-lru): CONFIG SET maxmemory-policy allkeys-lru. Anahtarlara TTL vererek otomatik temizlenmelerini sağlayın. maxmemory değerini/RAM'i artırın. Büyük anahtarları bulup küçültün (redis-cli --bigkeys). Gereksiz verileri temizleyin.
Aynı motorda diğer kayıtlar
- WRONGTYPEWRONGTYPE Operation against a key holding the wrong kind of value
- NOAUTHNOAUTH Authentication required
- WRONGPASSWRONGPASS invalid username-password pair or user is disabled
- READONLYREADONLY You can't write against a read only replica
- MASTERDOWNMASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'