1. 程式人生 > >Redis啟動警告問題的解決

Redis啟動警告問題的解決

Redis啟動

第一個警告
WARNING: The TCP backlog setting of 511 cannot be enforced because
/proc/sys/net/core/somaxconn is set to the lower value of 128.
意思是:TCP  backlog設置值,511沒有成功,因為 /proc/sys/net/core/somaxconn這個設置的是更小的128.
臨時解決方法:(即下次啟動還需要修改此值)
echo 511 > /proc/sys/net/core/somaxconn
永久解決方法:(即以後啟動還需要修改此值)
將其寫入/etc/rc.local文件中。
baklog參數實際控制的是已經3次握手成功的還在accept queue的大小。
參考linux裏的backlog詳解

第二個警告

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.o
vercommit_memory = 1‘ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1‘ for this to take effect
意思是:overcommit_memory參數設置為0!在內存不足的情況下,後臺程序save可能失敗。建議在文件 /etc/sysctl.conf 中將overcommit_memory修改為1。然後重啟或運行命令的sysctl vm.overcommit_memory=1‘將會生效

臨時解決方法:echo "vm.overcommit_memory=1" > /etc/sysctl.conf

永久解決方法:將其寫入/etc/sysctl.conf文件中。

參考:有關linux下redis overcommit_memory的問題

第三個警告

you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix thisissue 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 thesetting after a reboot. Redis must be restarted after THP is disabled.
意思是:你使用的是透明大頁,可能導致redis延遲和內存使用問題。執行 echo never > /sys/kernel/mm/transparent_hugepage/enabled 修復該問題。
臨時解決方法:
echo never > /sys/kernel/mm/transparent_hugepage/enabled。
永久解決方法:
將其寫入/etc/rc.local文件中。

第四個警告

Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with ‘noeviction‘ policy now.
意思是:警告:檢測到32位實例,但沒有設置內存限制。現在設置3 GB的maxmemory限制。
解決方法:
修改配置文件 redis.conf,將 maxmemory 設置為 maxmemory 1024000000 #分配256M內存

Redis啟動警告問題的解決