为非 root 用户设置 ulimit

为非 root 用户设置 ulimit

这是我的 elasticsearch 应用程序,它在启动时终止显示:

bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

我对 limits.conf 文件进行了nofile如下更改,将其更改为 65536:

*       soft    nofile  65536
*       hard    nofile  65536

并为同一个用户(非 root 用户)重新启动了一个新会话,但是当我打开新会话时,我在终端上看到的第一件事是:

bash: ulimit: max user processes: cannot modify limit: Operation not permitted

并且我的 ulimit 也没有改变。可能是什么原因?尽管我能够成功地为 root 用户更改它。

答案1

这里我发现有三个文件需要更改:

  1. /etc/systemd/user.conf
  2. /etc/systemd/system.conf, 和
  3. /etc/security/limits.conf

在前两个文件中,除了在第三个文件中所做的更改外,还添加以下行:

DefaultLimitNOFILE=65536

相关内容