[转帖]vm overcommit参数

vm,overcommit,参数 · 浏览次数 : 0

小编点评

**overcommit参数的设置** overcommit参数用于设置内核如何分配内存给虚拟内存。不同的服务可以设置不同的 overcommit 参数值,以优化内存利用和系统稳定性。 **示例:** * **redis服务器**建议设置 `vm.overcommit_memory = 1.1`,表示允许内核分配的内存超过实际物理内存的 110%。 * **vm.overcommit_ratio 和 vm.overcommit_memory**内核参数可以设置内存分配的比例,例如 `vm.overcommit_ratio = 0.5` 表示内核可以分配 50% 的内存。 **其他参数:** * **vm.overcommit_accountingvm.overcommit_ratio**:允许内核分配的内存比例。 * **vm.overcommit_memory**:允许内核分配的内存数量。 * **OVERCOMMIT_GUESS:**如果申请的内存超出可回收空间的 100%,内核会尝试使用 guess 方法分配内存。 * **OVERCOMMIT_ALWAYS:**始终允许内核分配内存空间。

正文

https://www.cnblogs.com/ExMan/p/11586756.html

 

overcommit参数需要根据不同服务来进行调整,使内存得到充分利用的同时保证系统的稳定性。比如redis服务器建议把vm.overcommit_memory设置为1.

1、vm.overcommit_ratio 和 vm.overcommit_memory内核参数
参考资料, overcommit-accounting
vm.overcommit_ratio值为0到100,表示允许内核分配的内存超过实际物理内存的百分比。

vm.overcommit_memory值可以是0(default)、1、2,表示overcommit检查和分配策略。
vm.overcommit_memory=0, OVERCOMMIT_GUESS、内核做启发式计算,根据可回收的slab、swap、memory空闲空间决定是够允许分配内存空间。参考内核代码: mmap.c

vm.overcommit_memory=1, OVERCOMMIT_ALWAYS表示不做overcommit检查,总是允许overcommit。

vm.overcommit_memory=2, 如果申请的内存<(total_memory * overcommit_ratio/100 + swap),那么内存申请通过。

2、redis服务器建议设置
vm.overcommit_memory=1 和 vm.overcommit_memory = 10
vm.overcommit_memory=0或者1会导致bgsave不成功,虽然redis是用copy-on-write机制创建子进程。
参考资料: http://redis.io/topics/faq

与[转帖]vm overcommit参数相似的内容:

[转帖]vm overcommit参数

https://www.cnblogs.com/ExMan/p/11586756.html overcommit参数需要根据不同服务来进行调整,使内存得到充分利用的同时保证系统的稳定性。比如redis服务器建议把vm.overcommit_memory设置为1. 1、vm.overcommit_ra

[转帖]Linux kernel内存管理之overcommit相关参数

前言 了解 linux kernel内存管理,首先可以从用户空间的角度来看kernel的内存管理,执行ls /proc/sys/vm的命令,就可以看到vm运行的所有参数,其中就包含了跟overcommit相关的参数。 Memory overcommit概念介绍 要了解这类参数首先要理解什么是comm

[转帖]linux中 vm.overcommit_memory 的含义

https://www.cnblogs.com/wshenjin/p/15500202.html vm.overcommit_memory 表示内核在分配内存时候做检查的方式。这个变量可以取到0,1,2三个值。对取不同的值时的处理方式都定义在内核源码 mm/mmap.c 的 __vm_enough_

[转帖]vm 缓存相关参数配置

https://www.cnblogs.com/JennyYu/p/16664523.html 一、脏数据相关参数: 文件缓存是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据)。写缓存比较复杂,Linux内核将磁盘写入缓存,过段时间再异步将它们

[转帖]vm内核参数之缓存回收drop_caches

注:本文分析基于3.10.0-693.el7内核版本,即CentOS 7.4 1、关于drop_caches 通常在内存不足时,我们习惯通过echo 3 > /proc/sys/vm/drop_caches 的方式手动清理系统缓存, [root@localhost ~]# free -m total

[转帖]聊聊HotSpot VM的Native Memory Tracking

https://cloud.tencent.com/developer/article/1406522 序 本文主要研究一下HotSpot VM的Native Memory Tracking Native Memory Tracking java8给HotSpot VM引入了Native Memor

[转帖]内存优化(开启内存大页vm.nr_hugepages)

大页内存(hugepages) 为优化内存管理引入了hugepages 可以自定义设置、将原来标准内存也4k设置为更大。 hugepages 优点: 使得Oracle SGA 不可交换; 减轻 TLB 的压力; 减少页表的开销; 减少页表查询的开销; 提升内存访问的整体性能; oracle建议设置h

[转帖]适用于 Azure VM 的 TCP/IP 性能优化

https://learn.microsoft.com/zh-cn/azure/virtual-network/virtual-network-tcpip-performance-tuning?context=%2Fazure%2Fvirtual-machines%2Fcontext%2Fconte

[转帖]Linux磁盘I/O(二):使用vm.dirty_ratio和vm.dirty_background_ratio优化磁盘性能

文件缓存是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据)。写缓存比较复杂,Linux内核将磁盘写入缓存,过段时间再异步将它们刷新到磁盘。这对加速磁盘I/O有很好的效果,但是当数据未写入磁盘时,丢失数据的可能性会增加。 当然,也存在缓存被写爆的

[转帖]Linux修改文件句柄数及vm.max_map_count、stack size的大小

文章目录 一、修改文件句柄数`1.1.查看当前大小``1.2.临时修改``1.3.永久修改` 二、修改max user processes进程数`2.1.临时修改``2.1.永久修改` 三、调整vm.max_map_count的大小`报错“max virtual memory areas vm.ma