Redis Out-of-Memory Errors

Redis returning out-of-memory (OOM) errors when it cannot allocate more memory for operations, leading to failed commands.
  1. Check memory usage: Run INFO memory to get an overview of Redis's memory usage.
  2. Identify big keys: Use MEMORY USAGE <key> to check the memory usage of suspected large keys. Alternatively, if you have Redis 4.0 or above, use the redis-cli --bigkeys command to automatically find the biggest keys.
  3. Remove unnecessary keys: If you identify keys that are unnecessarily large or not needed, use DEL <key> to remove them and free up memory.
  4. Adjust memory policies: Consider changing the eviction policy by setting CONFIG SET maxmemory-policy <policy>, where <policy> could be allkeys-lru or another appropriate policy for your use case.
  5. Increase memory: If your infrastructure allows, increase the memory available to Redis by adjusting the maxmemory setting with CONFIG SET maxmemory <bytes>, where <bytes> is the max memory Redis should use.
  6. Monitor eviction metrics: Run INFO stats and look at evicted_keys to see if keys are being evicted due to reaching maxmemory. This might indicate that either the memory limit is too low or the eviction policy is not aggressively freeing up memory.
  7. Use MONITOR (with caution) to watch real-time command execution in Redis. This can help identify unexpected or excessive write operations consuming memory. Note that MONITOR can significantly reduce the performance of your Redis server, so use it briefly and if possible, on a replica rather than the primary instance.

Never debug

Redis

manually again

Let Dr. Droid create custom investigation plans for your infrastructure.

Book Demo
Automate Debugging for
Redis
See how Dr. Droid creates investigation plans for your infrastructure.

MORE ISSUES

Made with ❤️ in Bangalore & San Francisco 🏢

Doctor Droid