我可以使用 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