使用Redis时需要估计两倍的容量,是这样讲的吧

有一天,我在查看Redis的日志时,发现有大量这样的记录出现,让我感到紧张。

[15487] 04 Aug 21:02:37.523 * 1 changes in 900 seconds. Saving...
[15487] 04 Aug 21:02:37.523 # Can't save in background: fork: Cannot allocate memory

即使使用redis-cli info命令,内存使用率也只有一半左右,而且还有足够的空闲空间。

The answer was written in Redis Administration, which can be found at http://redis.io/topics/admin.

原因和解决方法 hé ‘àn)

当进行Redis备份时,可能由于备份进程需要分配与当前使用量相同的空间,即使Redis本身的内存使用率超过了50%,备份进程仍会中止。

解决方法很简单,只需要按照Redis Administration中所写的,进行临时处理。

sysctl vm.overcommit_memory=1

只需要设定并允许分配即可。

之后,在/etc/sysctl.conf文件中添加以下内容。

vm.overcommit_memory = 1

我们应该准备一个报价的两倍。

总的来说,在运行Redis时,建议您估计所需容量的两倍,这样可以确保稳定运行。

bannerAds