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

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

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

$ ulimit -Sn
1024
$ ulimit -Hn
4096

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

fs.inotify.max_user_watches=524288
fs.file-max=100000

然后,我通过添加以下行来设置用户特定的设置 /etc/security/limits.conf(root必须单独添加,因为通配符匹配所有用户除了根):

*     soft  nofile 100000
*     hard  nofile 100000
root  soft  nofile 100000
root  hard  nofile 100000

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

session required pam_limits.so

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

$ cat /proc/sys/fs/file-max
100000

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

答案1

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

DefaultLimitNOFILE=100000

同样的问题在 StackExchange 网络上也出现过几次;参见例如这个问题以供进一步讨论。

还有针对该问题的错误报告,分别用于乌班图软呢帽

答案2

另外,请检查您的~/.bashrc文件的ulimit使用情况。

在我的 Fedora 38 中,我发现 ~/.bashrc 中有 where 行

limit -n 4096

所以更新它解决了这个问题。

相关内容