redis WARNING overcommit_memory is set to 0 问题解决方法
  

牵网线的 28432人觉得有帮助

{{ttag.title}}


服务器出现redis异常,排查redis日志发现报错日志如下:
  1. WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 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.
复制代码

刚开始思路是内存不够,清除缓存,清空缓存还是不生效,网上搜索资料才解决此问题
清除缓存的操作如下:
  1. #sync命令可用来强制将内存缓冲区中的数据立即写入磁盘中
  2. sync

  3. #释放网页缓存,目录项和索引
  4. echo 3 > /proc/sys/vm/drop_caches
复制代码

内核参数overcommit_memory
      它是内存分配策略。可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

什么是Overcommit和OOM
    Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做Overcommit。当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。

    当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该函数会计算每个进程的点数(0~1000)。点数越高,这个进程越有可能被杀死。每个进程的点数跟oom_score_adj有关,而且oom_score_adj可以被设置(-1000最低,1000最高)。

解决方法:
     很简单,按提示的操作(将vm.overcommit_memory 设为1)即可:
     有三种方式修改内核参数,但要有root权限
  1. (1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效
  2. (2)sysctl vm.overcommit_memory=1
  3. (3)echo 1 > /proc/sys/vm/overcommit_memory
复制代码


打赏鼓励作者,期待更多好文!

打赏
14人已打赏

点线网 发表于 2022-4-24 14:42
  
楼主分析的很详细,不错的实战经验,小白用户一看就懂,非常好的技术干货帖,顶一个!
伊利丹·怒风 发表于 2022-4-24 16:26
  

感谢分享,学习到了!
言不由衷 发表于 2022-4-24 18:19
  
感谢分享,坚持打卡学习
新手031815 发表于 2022-4-24 18:20
  
感谢分享,有助于工作,学习学习
卢美美 发表于 2022-4-24 18:23
  
感谢分享有助于工作和学习!
HeYanYong 发表于 2022-4-24 19:03
  
感谢分享有助于工作和学习!
HeJing 发表于 2022-4-24 19:06
  
感谢分享有助于工作和学习!
慈行普渡 发表于 2022-4-24 19:12
  
感谢分享有助于工作和学习!
梁家少爷 发表于 2022-4-24 19:15
  
感谢分享有助于工作和学习!
发表新帖
热门标签
全部标签>
每日一问
每周精选
技术盲盒
干货满满
2024年技术争霸赛
产品连连看
技术笔记
2023技术争霸赛专题
技术咨询
标准化排查
技术晨报
GIF动图学习
安装部署配置
新版本体验
功能体验
秒懂零信任
文档捉虫活动
自助服务平台操作指引
信服课堂视频
通用技术
答题自测
每日一记
SDP百科
玩转零信任
技术圆桌
在线直播
问题分析处理
畅聊IT
专家问答
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人