本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Redis
  • 【Redis运维】vm.overcommit_memory内存分配控制

【Redis运维】vm.overcommit_memory内存分配控制

发布:TangLu2020-10-22 13:54分类: Redis 标签: redis nosql

一、vm.overcommit_memory的作用

Linux系统对大部分进行内存申请的程序都回复yes,以便能运行更多的程序。而这些程序申请内存后并不一定会马上使用,这种技术就叫做overcommit。通过vm.overcommit_memory来设置overcommit的内存分配策略,它有三个可选值

0:内核将检查是否有足够的内存分配给程序。如果没有则申请失败,并把错误返回给应用进程。而在Redis中这个错误就会表现为“Cannot allocate memory”,然后触发OOM
1:表示内核允许超量使用内存直到用完为止
2:表示内核决不超量使用内存,即系统整个内存空间不能超过swap+50%的RAM值,50%是overcommit_ratio默认值,此参数支持修改


二、vm.overcommit_memory在Redis中的设置

Redis建议把这个值设置为1,是为了让fork能够在低内存下也执行成功。

1、获取overcommit的值

cat /proc/sys/vm/overcommit_memory

2、设置overcommit的值

echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【Redis运维】vm.overcommit_memory内存分配控制
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-633.html  [生成短网址]

已有 0/347 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~