Redis 运行所需的空闲内存是多少?

7
我相信Redis需要在操作系统上有一定量的空闲内存才能运行。在过去几周中,我发现Redis(Linux)即使还有几GB的RAM可用,也会耗尽内存;而在Windows上,如果使用了大量系统内存但还有很多空闲内存时,它则无法启动,如下面的截图所示。

enter image description here

Windows上的错误提示可以暗示为什么会出现这种情况(尽管我不确定在Linux上是否相同)。然而,我的问题更为通用。Redis需要多少可用内存才能正常运行?
2个回答

3
根据Redis FAQ,如果没有特定的Linux配置,它可能需要2倍于您数据集大小的内存。文档中提到:

简短的回答:echo 1 > /proc/sys/vm/overcommit_memory :)

通过这个配置,forked进程(负责将数据集保存到磁盘)将能够更轻松地与原始进程共享内存页面,因此不需要那么多内存。
您可以在这里阅读更多信息:https://redis.io/topics/faq#background-saving-fails-with-a-fork-error-under-linux-even-if-i-have-a-lot-of-free-ram

2

Redis需要的RAM大小是数据大小的2到3倍。 maxheap标志仅适用于Windows。


谢谢。这个要求有任何参考资料吗? - Gigi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接