1、啟動警告
CentOS 7下安裝的Redis,按照默認配置啟動總是提示:
4300:M 21 May 05:13:52.870 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
4300:M 21 May 05:13:52.870 # Server started, Redis version 3.2.12
4300:M 21 May 05:13:52.870 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/ sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
4300:M 21 May 05:13:52.870 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
執行以下語句:
echo 511 > /proc/sys/net/core/somaxconn
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并在/etc/rc.local文件最后添加:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
重新啟動Redis Server,警告解除。
2、無法保存內存鏡像
Redis可通過RDB或者AOF的方式持久化數據到硬盤上。最近修改了保存目錄,缺報錯無法保存了。
4394:M 21 May 05:38:50.014 * 10 changes in 300 seconds. Saving...
4394:M 21 May 05:38:50.014 * Background saving started by pid 4464
4464:C 21 May 05:38:50.014 # Failed opening the RDB file dump.rdb (in server root dir /data/xncd/redis) for saving: Permission denied
首先查看下Redis的運行賬號:
查看Redis運行賬號
再看看設置保存目錄的權限:
ll /data/xncd
果然發現目錄的屬主為root:root,執行以下指令,設置屬主為redis即可:
chown -R redis /data/xncd/redis