/etc/security/limits.conf 未应用

Kok*_*zzu 14 limit ulimit

我有/etc/security/limits.conf,这似乎没有被应用:

a soft nofile 1048576 # default: 1024
a hard nofile 2097152
a soft noproc 262144  # default 128039
a hard noproc 524288  
Run Code Online (Sandbox Code Playgroud)

a我的用户名在哪里,当我运行ulimit -Hn和 时ulimit -Sn,它显示:

4096
1024
Run Code Online (Sandbox Code Playgroud)

只有一个其他文件/etc/security/limits.d的内容是:

scylla  -  core     unlimited
scylla  -  memlock  unlimited
scylla  -  nofile   200000
scylla  -  as       unlimited
scylla  -  nproc    8096
Run Code Online (Sandbox Code Playgroud)

我还尝试将这些值附加到/etc/security/limits.conf然后重新启动,并执行以下操作:

echo '
session required pam_limits.so
' | sudo tee -a /etc/pam.d/common-session
Run Code Online (Sandbox Code Playgroud)

但它没有用。我的操作系统是Ubuntu 17.04.

dan*_*ndi 16

https://superuser.com/questions/1200539/cannot-increase-open-file-limit-past-4096-ubuntu/1200818# =

自 Ubuntu 16 以来显然存在一个错误。

基本上:

  1. 编辑/etc/systemd/user.conf软限制,并添加DefaultLimitNOFILE=1048576.
  2. 编辑/etc/systemd/system.conf软限制,并添加DefaultLimitNOFILE=2097152.

幸得@mkasberg

  • 是的,我尝试的时候需要重启。 (2认同)

Mar*_*377 8

对于那些不想编辑默认/etc/systemd/system.conf/etc/systemd/user/conf文件的人来说,另一种选择:

  1. 创建一个/etc/systemd/system.conf.d/limits.conf包含以下内容的新文件:

    [Manager]
    DefaultLimitNOFILE=1048576:2097152
    DefaultLimitNPROC=262144:524288
    
    Run Code Online (Sandbox Code Playgroud)
  2. systemctl daemon-reexec以 root 身份运行

  3. 注销并重新登录

  4. 分别使用ulimit -aulimit -nulimit -u最大打开文件数和最大进程数检查您的新限制。

有关详细信息,请参阅systemd-system.conf联机帮助页