docker部署redis报错内存分配过度解决办法
之间部署redis集群的时候报错
2023 10:20:29.131 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
百度一查内存分配过度很容易造成和宿主机发生内存混乱
解决办法
这个错误消息是Redis提示您需要启用内存过度分配(memory overcommit)以确保在低内存条件下,后台保存(background save)或复制(replication)操作能够正常进行。未启用内存过度分配可能导致这些操作在低内存情况下失败,甚至在没有低内存情况下也可能导致失败。此外,它还提到了一个关于jemalloc的问题。
要解决这个问题,您需要执行以下步骤:
1.编辑sysctl.conf文件:使用文本编辑器(例如vi或nano)打开/etc/sysctl.conf文件,然后添加以下行:
vm.overcommit_memory = 1
这会启用内存过度分配。
2.保存文件:保存对sysctl.conf文件的更改。
3.应用更改:要使更改生效,您可以运行以下命令:
sysctl vm.overcommit_memory=1
这会立即激活内存过度分配,而无需重新启动系统。
4.检查值:您可以运行以下命令验证更改是否已生效:
cat /proc/sys/vm/overcommit_memory
如果它返回1,则表示内存过度分配已成功启用。
5.重新启动Redis容器:最好重新启动Redis,以确保它以更新的配置重新启动:
总结
到此这篇关于docker部署redis报错内存分配过度解决的文章就介绍到这了,更多相关docker部署redis报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
利用nexus作为私库进行代理docker,进行上传和下载镜像操作
这篇文章主要介绍了利用nexus作为私库进行代理docker,进行上传和下载镜像操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11
Idea+docker通过dockerFile往华为云发布项目实践
本文介绍了使用IntelliJ IDEA和Docker将Spring Boot项目部署到华为云上,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-01-01


最新评论