如何增加 Fedora 上打开文件的最大数量?

Wou*_*eek 7 fedora open-files ulimit

我想增加 Fedora 27 中打开文件的最大数量,因为默认设置太低:

$ ulimit -Sn
1024
$ ulimit -Hn
4096
Run Code Online (Sandbox Code Playgroud)

首先,我通过添加以下行来确保系统范围的设置足够高/etc/sysctl.conf

fs.inotify.max_user_watches=524288
fs.file-max=100000
Run Code Online (Sandbox Code Playgroud)

然后,我通过将以下行添加到/etc/security/limits.confroot必须单独添加,因为通配符匹配root之外的所有用户)来设置特定于用户的设置 :

*     soft  nofile 100000
*     hard  nofile 100000
root  soft  nofile 100000
root  hard  nofile 100000
Run Code Online (Sandbox Code Playgroud)

为确保实际加载上述设置,我添加了以下行/etc/pam.d/login

session required pam_limits.so
Run Code Online (Sandbox Code Playgroud)

重新启动计算机并登录后,我仍然得到相同的结果ulimit -Snulimit -Hn。仅设置了系统范围的设置:

$ cat /proc/sys/fs/file-max
100000
Run Code Online (Sandbox Code Playgroud)

我有点不知所措……有人知道我如何诊断/解决这个问题吗?

小智 5

这里的问题是 GUI(和 gnome-terminal)是由 启动的systemd --user,它不从 读取/etc/security/limits.conf。相反,您应该通过附加例如来分别编辑软限制和硬/etc/systemd/user.conf限制/etc/systemd/system.conf

DefaultLimitNOFILE=100000
Run Code Online (Sandbox Code Playgroud)

同样的问题在 StackExchange 网络上也出现过几次;例如,请参阅此问题以进行进一步讨论。

对于UbuntuFedora也有针对该问题的错误报告。