Redis服务器内存增加到22GB和崩溃(OOM)

Redis服务器v2.8.4在Ubuntu 14.04 VPS上运行,具有8 GB RAM和16 GB交换空间(在SSD上)。 不过htop显示, redis本身就占用了22.4 G内存

我不认为redis数据库是这么大,为什么它占用这么多的内存?

在这里输入图像说明在这里输入图像说明

Redis版本: Redis server v=2.8.4 sha=00000000:0 malloc=jemalloc-3.4.1 bits=64 build=a44a05d76f06a5d9

重新启动redis服务器后

在这里输入图像说明在这里输入图像说明


更新

redis-server最终因memeory而崩溃。 MemSwp都达到100%,然后redis-server与其他服务一起被杀死。

dmesg

 [165578.047682] Out of memory: Kill process 10155 (redis-server) score 834 or sacrifice child [165578.047896] Killed process 10155 (redis-server) total-vm:31038376kB, anon-rss:5636092kB, file-rss:0kB 

我想我们真的应该担心redis的内存使用率会随着时间的推移而boost! 我们如何解决这个问题?

你应该检查你的redis.conf来设置叫做“maxmemory”。 如果您不希望Redis使用超过100MB的内存,请确保在redis.conf中设置以下内容:

 maxmemory 104857600 

应用更改后,您将不得不重新启动您的redis实例。