1.关闭透明大页
执行cat /sys/kernel/mm/transparent_hugepage/enabled
如果为[always] madvise never
或always [madvise] never
则执行
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
同时,修改/etc/rc.local添加如下内容
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
变更重启后再次cat /sys/kernel/mm/transparent_hugepage/enabled
结果应为always madvise [never]
2,。调整swap策略
因内核版本存在以下区别,请核实内核版本
swappiness 内核版本 策略
0 3.5 完全不交换,除非OOM
❤️.5 存在交换swap的可能性最低
1 3.5 存在交换swap的可能性最低
60 默认值
100 操作系统会主动地使用swap
如sle11 sp3默认版本是3.0.76-0.11.1小于3.5,建议设置0
修改/etc/sysctl.conf 添加vm.swappiness=0 重启
3.内存分配(与fork及持久化有关,可选)
修改/etc/sysctl.conf 添加vm.overcommit_memory=1 重启
4.参数优化(最大内存如果调大,主从同步会耗时较长,需要修改主从同步缓冲区)
可修改配置文件
redis.conf
client-output-buffer-limit slave 536870912 134217728 120
也可通过redis-cli实时修改
config set client-output-buffer-limit ‘slave 536870912 134217728 120’