码迷,mamicode.com
首页 > 其他好文 > 详细

Dcoker(系列) docker-redis警告处理

时间:2017-05-18 12:42:58      阅读:3417      评论:0      收藏:0      [点我收藏+]

标签:docker-redis   linux   docker   

如果启动前不对Linux内核做任何更改,那么Redis启动会报出警告,共三个:如下图所示

技术分享


第一个警告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详解


第二个警告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 andthen 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文件中。


如果第一个警告不能再宿主机中解决,可以在docker容器中尝试解决,可以参考此文章。

http://weeklyalgo.codes/2017/03/06/some%20docker%20security%20options/#2-

本文出自 “马叔叔” 博客,请务必保留此出处http://mashushu.blog.51cto.com/10249949/1926941

Dcoker(系列) docker-redis警告处理

标签:docker-redis   linux   docker   

原文地址:http://mashushu.blog.51cto.com/10249949/1926941

(2)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!