docker启动redis官方镜像的三个警告的通用解决办法

容器
docker启动redis官方镜像的三个警告的通用解决办法-下一朵云

docker启动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
# WARNING 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.
# WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue 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 the setting after a reboot. Redis must be restarted after THP is disabled.

解决办法

1.关于TCP backlog的设置

提示信息

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 连接数设置为 128 太小

处理措施(宿主机执行操作)

]# echo 'net.core.somaxconn=551' >> /etc/sysctl.conf
]# sysctl -p

redis的docker-compose.yml文件如下所示

version: "3.5"
services:
  redis:
    image: redis:5.0.0
    container_name: redis
    hostname: redis
    privileged: true
    user: root
    ports:
      - 6379:6379
    sysctls:  # 重要命令
        net.core.somaxconn: 551  # 重要命令
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /data/volume/redis:/data
    restart: always
    tty: true

2.关于overcommit_memory的设置

提示信息

WARNING 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时 在低内存条件下,后台保存可能会失败

处理措施(宿主机执行操作)

]# echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf
]# sysctl -p

3.关于 THP 支持的设置

提示信息

WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue 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 the setting after a reboot. Redis must be restarted after THP is disabled.

内核中启用了透明大页面(THP)支持。 这将导致Redis的延迟和内存使用问题

处理措施(宿主机执行操作)

]# cat >> /etc/rc.local << EOF
echo never > /sys/kernel/mm/transparent_hugepage/enabled
EOF
]# chmod +x /etc/rc.local
]# source /etc/rc.local

4.重启redis服务

]# /data/deploy/redis
]# docker-compose down
]# docker-compose up -d
]# docker exec redis cat /proc/sys/net/core/somaxconn
551
版权声明:本文为下一朵云发布文章,转载请附上原文出处链接和本声明。
本文链接:https://www.orcy.net.cn/3577.html

​ 广告:HCIE-Security认证课程辅导资料(付费)

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注