Redis 5.0.5:警告:无法强制执行 TCP 积压设置 511,因为 /proc/sys/net/core/somaxconn 设置为较低值 128

问题描述 投票:0回答:2

我有

windows 10 home
,安装在哪里
Ubuntu

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

我已经安装了

Redis 5.0.5
(主要是
make
make install

当我使用

redis-server
启动服务器时,它会显示一些警告。

我删除了一篇关于

overcommit_memory

但是关于:

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
    目录
  • 创建
    rc.local
    文件,
    sudo vim rc.local
  • 添加
    sysctl -w net.core.somaxconn=65535
    内容并保存

我可以通过

确认
cat rc.local
sysctl -w net.core.somaxconn=65535

secondary 终端中我执行

redis-cli shutdown
并在 primary 终端中再次执行
redis-server

问题出现相同的警告,缺少什么?

注意即使执行后我也有同样的情况

sudo chmod +x rc.local

ubuntu redis ubuntu-18.04
2个回答
8
投票

我遇到了类似的问题,日志上出现警告。我遇到了以下解决方案:

尝试

echo 1024 > /proc/sys/net/core/somaxconn

将这两个添加到此文件中

/etc/sysctl.conf

vm.overcommit_memory=1
net.core.somaxconn=65535

如果一切正常,重新启动你的redis服务器:

systemctl restart redis.service

再次检查redis日志:

cat /var/log/redis/redis.log


0
投票

很有可能您已经在运行一个 redis-server 实例,而您却不知道。

Redis 会抱怨无法绑定端口。

检查 Redis 尝试绑定的端口绑定了什么:

$ lsof -i -P -n | grep LISTEN

找到仍在运行的幻影进程,获取它的 pid,然后对它发出 SIGTERM 信号:

$ kill 1234

注意:不要粗鲁,

$ kill -9
Redis 实例。

© www.soinside.com 2019 - 2024. All rights reserved.