尽管更改了 /etc/security/limits.conf,但 Redis 用户的打开文件限制并未增加

尽管更改了 /etc/security/limits.conf,但 Redis 用户的打开文件限制并未增加

我有

ERR 已达到最大客户端数

来自我的redis服务器,因此我决定增加其配置中允许的最大客户端连接数。这也需要根据文档,增加用户各自的打开文件限制。

所以我做了以下改变:

$ grep maxclient /etc/redis/redis.conf 
  maxclients 100000


$ grep redis /etc/security/limits.conf
  redis          -       nofile         100000

然后我做了systemctl restart redis-server

redis-server但是,当我检查系统用户运行的进程的限制时redis,最大允许文件报告其他内容:

  $ ps -u redis
    PID TTY          TIME CMD
    21168 ?        00:00:22 redis-server
  $ grep 'open files' /proc/21168/limits
    Max open files            4096                 4096                 files  

我需要重新启动计算机才能使更改生效吗?或者是别的什么?

答案1

/etc/security/limits.conf是配置文件pam_限制PAM 模块。它只影响使用PAM登录的用户,不是服务以其他方式开始。

您需要配置 systemd 来更改其启动的进程的限制,请参阅例如如何使用 systemd 设置服务的 ulimit?关于如何做到这一点。

相关内容