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

如果启动前不对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-

时间: 2024-10-23 21:50:21

Dcoker(系列) docker-redis警告处理的相关文章

Docker + redis + nginx + tomcat

Docker + redis + nginx + tomcat 环境 pc机 机器 192.168.1.242 系统 [[email protected] ~]# uname -a Linux hdp-gp-dk02 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]#  cat /etc/redhat-release Red

22Python标准库系列之Redis模块

Python标准库系列之Redis模块 What is redis? Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, b

redis系列之redis是什么

一.简介 REmote DIctionary Server(Redis),redis是一个基于内存的单机key/value系统,类似memcached,但支持value为多种形式,包括:字符串(string).链表(list).集合(set).有序集合(sorted set)和hash table 二.特点 1 优点 与memcache和MySQL等类似产品比较,Redis有以下几个优点: (1) 非常丰富的数据结构,且这些数据结构的常见操作均是原子性的: (2) 高速读写.Memcached提

Redis系列一 Redis安装

Redis系列一    Redis安装 1.安装所使用的操作系统为Ubuntu16.04 Redis版本为3.2.9 软件一般下载存放目录为/opt,以下命令操作目录均为/opt [email protected]:/opt# wget http://download.redis.io/releases/redis-3.2.9.tar.gz [email protected]:/opt# tar -zxvf redis-3.2.9.tar.gz [email protected]:/opt/re

Docker redis集群搭建

Docker redis集群搭建 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docker 版本:18.09.1 redis 版本:redis-4.0.9 主机数量:1台 主机地址:192.168.1.81 环境2: 已搭建 Docker Swarm 管理 已搭建 Docker 私有仓库 已搭建 NFS 存储 目录结构 └── redis ├── Dockerfile ├── redis-4.0.9

高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解

Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架.epoll中的读.写.关闭.连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间. 下面重点介绍单线程设计和IO多路复用核心设计快的原因. 为什么Redis是单线程的 1.官方答案 因为Redis是基

高并发架构系列:Redis并发竞争key的解决方案详解

需求由来 1.Redis高并发的问题 Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题:缓存击穿.缓存雪崩.缓存和数据一致性,以及今天要谈到的缓存并发竞争. 这里的并发指的是多个redis的client同时set key引起的并发问题. 2.出现并发设置Key的原因 Redis是一种单线程机制的nosql数据库,基于key-value,数据可持久化落盘.由于单线程所以Redis本身并没有锁的概念,多个客户端连接并不存在竞争关系,但是利用jedis等客户端

10.【Redis系列】Redis的高级应用-GeoHash

原文:10.[Redis系列]Redis的高级应用-GeoHash Redis在3.2版本增加了GEO模板,意味着通过redis可以做附近的人,附近的门店,附近的商场这样的功能. 用数据库来算附近的人 地图元素的位置数据使用二维的经纬度表示,经度范围 (-180, 180],纬度范围 (-90, 90],纬度正负以赤道为界,北正南负,经度正负以本初子午线 (英国格林尼治天文台) 为界,东正西负.比如掘金办公室在望京 SOHO,它的经纬度坐标是 (116.48105,39.996794),都是正数

1.【Redis系列】redis是可以做什么?

原文:1.[Redis系列]redis是可以做什么? Redis是互联网技术领域使用最为广泛的存储中间件.它以其超高的性能.完美的文档.简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评.国内外很多大型网站都在使用Redis,比如Twitter.Youporn.Github.腾讯.阿里.京东.华为等等,很多小型公司也在应用. Redis可以做什么呢 Redis的应用非常广泛,我们梳理下redis可以用在哪些方面. 1.记录帖子的点赞数.评论数和点击数 2.记录用户帖子ID的列表,便于快速

5.【Redis系列】Redis的高级应用-位图

原文:5.[Redis系列]Redis的高级应用-位图 假设一个应用场景:我们需要记录用户一年的签到记录,签到了是1,没签是0,记录365天,当用户上亿后,存储空间是惊人的. 为了解决这个问题,redis提供了位图的数据结构.这样每天的签到记录只占据一个位,365天就是365个位,46个字节完全可以容纳下. 位图不是特殊的数据结构,它的内容就是普通的字符串,也就是byte数组,我们可以用set/get方法来设置和获取位图的内容,也可以使用位图操作getbit和setbit将byte数组看成位数组