一、执行redis命令报错,如图:
二、原因:
Redis在保存数据到硬盘时,为了避免主进程假死,需要Fork一份主进程,然后在Fork进程内完成数据保存到硬盘的操作,如果主进程使用了4GB的内存,Fork子进程的时候需要额外的4GB, 此时内存就不够用了,Fork失败,进而数据保存硬盘也失败。
二、解决:
1、打开文件,执行命令:vi /etc/sysctl.conf,如图:
2、修改文件,在文件的末尾,添加:vm.overcommit_memory=1,如图:
3、重启redis服务
4、再执行redis命令即可,如图:

本文介绍了解决Redis在执行命令时报错的问题,主要是因为内存不足导致Fork进程失败。通过调整系统配置参数vm.overcommit_memory来允许超额内存分配,并重启Redis服务解决了该问题。
1万+

被折叠的 条评论
为什么被折叠?



