原文: 【Redis运维】vm.overcommit_memory内存分配控制-
vm.overcommit_memory的作用
Linux系统对大部分进行内存申请的程序都回复yes,以便能运行更多的程序。而这些程序申请内存后并不一定会马上使用,这种技术就叫做overcommit。通过vm.overcommit_memory来设置overcommit的内存分配策略,它有三个可选值
0:内核将检查是否有足够的内存分配给程序。如果没有则申请失败,并把错误返回给应用进程。而在Redis中这个错误就会表现为“Cannot allocate memory”,然后触发OOM
1:表示内核允许超量使用内存直到用完为止
2:表示内核决不超量使用内存,即系统整个内存空间不能超过swap+50%的RAM值,50%是overcommit_ratio默认值,此参数支持修改
本文详细解析了Linux系统中vm.overcommit_memory内存控制的原理,探讨了其三个可选值的功能:0(严格检查内存)、1(允许超量使用)和2(严格限制内存使用)。重点讲解了如何调整内存分配策略以优化Redis服务的内存使用和避免OOM错误。
2701

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



