如何增加所有进程的打开文件限制?

如何增加所有进程的打开文件限制?

我可以使用 ulimit 但我认为这只会影响我的 shell 会话。我希望增加所有进程的限制。这是在红帽上。

答案1

贾斯汀的回答告诉您如何提高可用打开文件的数量全部的到整个系统。但我认为您问的是如何在全球范围内提高每用户限制。答案是将以下几行添加到/etc/security/limits.conf

*               soft    nofile            2048
*               hard    nofile            2048

(其中 * 表示所有用户。)

该文件本身和man limits.conf.这是通过为pam_limits.so中配置的各种服务调用的模块来实现的/etc/pam.d/

而且,我必须承认,我有不知道1024 默认值来自哪里。相信我,我看过。我什至在没有配置 pam_limits 模块的情况下尝试过,它仍然存在。它一定是硬编码在某个地方,但我不确定在哪里。

答案2

增加 Linux 中 ulimit 打开文件的最大数量

1.步骤:打开sysctl.conf 并添加此行 fs.file-max = 65536

$ vi /etc/sysctl.conf

添加新行并

fs.file-max = 65536

保存并退出。

2.步骤:

$ vi /etc/security/limits.conf

并在下面添加提到的

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

保存并退出检查最大打开文件数ulimit

# ulimit -a

....
open files                      (-n) 65535

答案3

根据这篇文章Linux 增加打开文件/文件描述符(FD)的最大数量,您可以通过添加条目来增加打开文件的限制/etc/sysctl.conf

附加配置指令,如下所示:

fs.file-max = 100000

然后保存并关闭文件。用户需要注销并重新登录才能使更改生效,或者只需键入以下命令:

# sysctl -p

您还可以使用以下命令验证您的设置:

# cat /proc/sys/fs/file-max

答案4

补充:

您可能会在不同的地方找到配置:/etc/security/limits.d/*.conf

我不得不修改它。没有它就行不通。格式与limits.conf

相关内容