vm.overcommit_memory = 1
默认这个值为 0,表示当发现没有足够内存做内存分配的时候,就不去分配。在内存比较低的时候,会发生fork 阻塞。设置为 1 表示认为机器有足够内存,来做内存分配。echo never > /sys/kernel/mm/transparent_hugepage/enabled
no-appendfsync-on-rewrite = yes
Redis在执行 fsync 的时候,redis 为了保证 AOF 文件安全性,会校验上次 fsync 的时间是否大于2秒。若超过2秒,会发生阻塞。
info persistence
命令进行查看:每发生一次,aof_delayed_fsync
会增 1 。如图,aof_deloayed_fsync:0,说明 aof 并没有发生阻塞。
df -h
和 du -sh
统计整体磁盘情况和查看单独目录点用情况。优化方法可以参考硬盘优化策略。