vm内核参数优化设置
(1)vm.overcommit_memory 执行grep -i commit /proc/meminfo 看到CommitLimit和Committed_As参数。 CommitLimit是一个 内存分配上限 , CommitLimit = 物理内存 * overcommit_ratio(默认50,即50%) + swap大小 Committed_As是已经分配的内存大小。 -------- vm.overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2 0: (默认) 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。0 即是启发式的overcommitting handle,会尽量减少swap的使用,root可以分配比一般用户略多的内存 1: 表示内核允许分配所有的物理内存,而不管当前的内存状态如何, 允许超过 CommitLimit,直至内存用完为止。 在数据库服务器上不建议设置为1,从而尽量避免使用swap . 2: 表示不允许超过CommitLimit值 (2)vm.overcommit_ratio 默认值为:50 (即50%) 这个参数值只有在vm.overcommit_memory=2的情况下,这个参数才会生效。 --------------------