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

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

redis 服务器 v2.8.4 运行在 Ubuntu 14.04 VPS 上,该 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-server后

在此处输入图片描述 在此处输入图片描述


更新

redis-server最终由于内存不足而崩溃。Mem并且Swp都达到 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 的内存使用量会随着时间的推移而变得越来越高!我们该如何解决这个问题?

答案1

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

maxmemory 104857600

应用更改后,您必须重新启动 redis 实例。

相关内容