我正在尝试增加 Ubuntu 8.04.4 LTS 中的打开文件限制。以下是此问题中发布的信息:如何增加非 root 用户的打开文件限制?
- 添加到
/etc/sysctl.conf
以下行:fs.file-max=500000
添加到
/etc/security/limits.conf
以下几行:* soft nofile 10000
* hard nofile 10000
- 添加到
/etc/pam.d/common-session
(我的系统在 /etc/pam.d/ 中没有任何其他以 common-session 为前缀的文件)以下行:session required pam_limits.so
- 系统是否重启
但打开文件限制的值仍然是1024:
# ulimit -n
1024
# cat /proc/{PID}/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 1024 files
# cat /proc/sys/fs/file-max
500000
# sysctl fs.file-max
fs.file-max = 500000
我做错了什么以及如何增加打开文件限制?
答案1
您可以通过在内核变量 /proc/sys/fs/file-max 中设置新值来增加打开文件的最大数量,如下所示(以 root 身份登录):
sysctl -w fs.file-max=500000
上述命令强制将文件数限制为 500000 个。您需要编辑 /etc/sysctl.conf 文件并添加以下行,以便在重启后设置保持不变:
vi /etc/sysctl.conf
附加配置指令如下:
fs.文件最大值 = 500000
保存并关闭文件。
用户需要注销并重新登录才能使更改生效,或者只需输入以下命令:
sysctl -p
使用命令验证您的设置:
cat /proc/sys/fs/file-max
或者
sysctl fs.file-max