- 關閉RDB防止fork進程的內存溢出問題
save ""
appendonly=yes
- 防止某個節點掛掉,整個cluster掛掉的問題
cluster-require-full-coverage no
- 設置最大內存
maxmemory
11453246122
- 日志
logfile "./redis.log"
- 防止因為磁盤同步,卡掉住進程的情況出現
no-appendfsync-on-rewrite yes
- 內核修改,如果沒開防火牆可以不設置這個
net.nf_conntrack_max = 1648576
- 這個用來防止內存申請不到發生卡死的情況,很重要
vm.overcommit_memory=1
有三種方式修改內核參數,但要有root權限:
(1)編輯/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效
(2)sysctl vm.overcommit_memory=1
(3)echo 1 > /proc/sys/vm/overcommit_memory
建議使用方法 1
- thp redis warning要求關掉
echo never > /sys/kernel/mm/transparent_hugepage/enabled
同時寫入rc.local,保證下次重啟生效
- 最大連接數要改一下,redis的warning會要求修改
net.core.somaxconn= 1024
編輯/etc/sysctl.conf ,增加 net.core.somaxconn= 1024,然后sysctl -p 使配置文件生效
- 設置內存超出策略
默認沒有設置
allkeys-lru
-
BGREWRITEAOF 這個命令可以重寫aof,因為aof長時間增量更新,導致越來越大,但是內存可能沒這么大,所以可以用這個命令重寫進行復制備份,恢復等
-
內存吃緊的時候可以嘗試手動去掉內存碎片
config set activedefrag yes
memory purge
