docker 部署redis报错内存分配过度

这篇具有很好参考价值的文章主要介绍了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,以确保它以更新的配置重新启动:文章来源地址https://www.toymoban.com/news/detail-751323.html

到了这里,关于docker 部署redis报错内存分配过度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kubernetes(k8s)为容器和 Pod 分配内存资源

    展示如何将内存请求(request)和内存限制(limit)分配给一个容器。 我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的内存。 创建新的命名空间 编辑yaml文件 配置文件的 args 部分提供了容器启动时的参数。 “–vm-bytes”, “150M” 参数告知容器尝试分配 15

    2024年02月15日
    浏览(54)
  • 解决docker运行redis报错:Fatal error, can‘t open config file /etc/redis/redis.conf以及启动redis后自动退出容器

    现象如下:  看了报错是权限问题,然后发现redis1.conf的权限果然不大对, 所以运行 chmod o+r 添加权限 但是启动后容器自动退出: 然后把redis-server改成绝对路径/usr/local/bin/redis-server  此时就能发现报错真正的原因:是原始redis.conf配置文件内容的问题,而不是文件本身挂载的

    2024年02月04日
    浏览(55)
  • 架构师成长之路Redis第一篇|Redis 安装介绍以及内存分配器jemalloc

    Redis官网:https://redis.io/download/ 下载安装二进制文件 可下载安装最新版Redis7.2.0,或者可选版本6.x 我这里下载6.2.13和7.2最新版本,后面我们都是安装6.2.13版本的信息进行讲解 二进制文件安装步骤 安装前期准备: 安装gcc yum install gcc 压缩文件 tar -xzf redis6.2.13.tar.gz 编译 cd redis-x

    2024年02月11日
    浏览(48)
  • docker - 常用容器部署命令大全(MySQL、MongoDB、Redis、RabbitMQ、ES、Kibana、Nacos、Sentine)

    目录 一、常用容器运行指令 MySQL Redis RabbitMQ ElasticSearch  kibana  Nacos Sentinel a)未持久化部署 b)持久化部署 a)未持久化部署: b)持久化部署:   a)为了 es 和 将来要下载的 kibana 进行互联,因此需要我们去创建一个网络. b) ES 部署 Ps:如果报错 \\\"Caused by: java.nio.file.Access

    2024年01月20日
    浏览(76)
  • 使用Docker容器部署java运行环境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    环境:阿里云ECS服务器 1.1 安装工具 1.2 为yum源添加docker仓库位置 1.3 将软件包信息提前在本地索引缓存 (非必要,建议执行,可以提升yum安装的速度,报错去掉fast试试) 1.4 安装Docker 傻瓜式安装 点击y 1.5 启动Docker 1.6 设置开机自启动 1.7 安装完成后可以测试一下,是否安装成功

    2024年02月02日
    浏览(73)
  • docker限制容器内存

    我们使用docker时,经常会遇到docker容器使用内存大于docker宿主机内存,导致宿主机奔溃,从而影响其他宿主机上容器的运行。 因此我们在使用docker容器的时候需要限制内存。 备注:命令详解 (1) 错误表现: (2)解决方案 (1)错误表现 (2)错误原因 ocker 默认没有启用memory-swap交换内

    2024年02月13日
    浏览(50)
  • docker限制容器内存的方法

    在服务器中使用 docker 时,如果不对 docker 的可调用内存进行限制,当 docker 内的程序出现不可预测的问题时,就很有可能因为内存爆炸导致服务器主机的瘫痪。而对 docker 进行限制后,可以将瘫痪范围控制在 docker 内。 因此,本文将介绍使用 docker 进行容器内存限制的方法。

    2024年02月01日
    浏览(37)
  • Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)

    Redis Cluster 集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,需要将每个节点设置成集群模式,

    2024年02月07日
    浏览(45)
  • 【Docker】限制已运行容器的Cpu和内存

    docker限制已运行容器的Cpu和内存 本文首发于 慕雪的寒舍 最近云服务器的内存经常不够用,而且是 莫名其妙 的增多,在腾讯云的控制台里面看,4g的内存占用了3.2g,就卡到连ssh都连不上了 PS: 已换过网络和设备,确认不是网络问题导致无法ssh 实在没辙了,只能把我的几个不

    2023年04月25日
    浏览(37)
  • 【云原生】Docker容器资源限制(CPU/内存/磁盘)

    目录 ​编辑 1.限制容器对内存的使用 2.限制容器对CPU的使用 3.block IO权重 4.实现容器的底层技术 1.cgroup 1.查看容器的ID 2.在文件中查找 2.namespace 1.Mount 2.UTS 3.IPC 4.PID 5.Network 6.User 1.限制容器对内存的使用 ⼀个 docker host 上会运⾏若⼲容器,每个容器都需要 CPU、内存和 IO 资源。对

    2024年02月14日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包