Redis在CentOS7中的启动警告

CentOS7安装Redis,启动时会出现如下图3个警告。

问题1:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

       解决方式:在“/etc/sysctl.conf”文件中增加“net.core.somaxconn = 1024”配置

问题2:WARNING overcommit_memory is set to 0! Background save may fail under low memory condition.

  解决方式:在“/etc/sysctl.conf”文件中增加“vm.overcommit_memory = 1”配置

  vm.overcommit_memory参数可选值:0、1、2。

  0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

  1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

  2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

设置完“sysctl.conf”后,执行“sysctl -p”生效。

问题3:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis.(你使用的是透明大页,可能导致redis延迟和内存使用问题。)

       查看透明大页状态(此时状态为always)

cat /sys/kernel/mm/transparent_hugepage/enabled

 

  关闭透明大页:

  打开“/etc/rc.local”文件,写入“echo never > /sys/kernel/mm/transparent_hugepage/enabled”。

       给rc.local文件增加执行权限“chmod +x /etc/rc.local”

chmod +x /etc/rc.local

  重启生效,再次查看透明大页状态(此时状态为never)。

三个设置完成后,再次启动Redis,没有出现警告

原文地址:https://www.cnblogs.com/zhi-leaf/p/9305103.html