我相信Redis需要在操作系统上有一定量的空闲内存才能运行。在过去几周中,我发现Redis(Linux)即使还有几GB的RAM可用,也会耗尽内存;而在Windows上,如果使用了大量系统内存但还有很多空闲内存时,它则无法启动,如下面的截图所示。
Windows上的错误提示可以暗示为什么会出现这种情况(尽管我不确定在Linux上是否相同)。然而,我的问题更为通用。Redis需要多少可用内存才能正常运行?
通过这个配置,forked进程(负责将数据集保存到磁盘)将能够更轻松地与原始进程共享内存页面,因此不需要那么多内存。简短的回答:echo 1 > /proc/sys/vm/overcommit_memory :)
Redis需要的RAM大小是数据大小的2到3倍。 maxheap
标志仅适用于Windows。