生活如麻 发表于 2018-11-4 10:40:16

Redis学习笔记五——启动警告问题的解决

  如果启动前不对Linux内核做任何更改,那么Redis启动会报出警告,共三个:如下图所示
http://img.blog.csdn.net/20160723201831508?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  第一个警告:The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
  意思是:TCPbacklog设置值,511没有成功,因为 /proc/sys/net/core/somaxconn这个设置的是更小的128.
  临时解决方法:(即下次启动还需要修改此值)
  echo 511 > /proc/sys/net/core/somaxconn
  永久解决方法:(即以后启动还需要修改此值)
  将其写入/etc/rc.local文件中。
  baklog参数实际控制的是已经3次握手成功的还在accept queue的大小。
  参考linux里的backlog详解
  第二个警告: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.
  意思是:overcommit_memory参数设置为0!在内存不足的情况下,后台程序save可能失败。建议在文件 /etc/sysctl.conf 中将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文件中。
  参考透明大页介绍。

页: [1]
查看完整版本: Redis学习笔记五——启动警告问题的解决