在 Ubuntu 系统中,ulimit
命令用于控制 shell 运行时可以打开的文件描述符的数量。如果你需要调整这个限制,可以通过以下几种方法来实现:
临时调整当前 shell 会话的限制:
ulimit -n <number_of_files>
例如,要将打开文件数限制为 4096,可以运行:
ulimit -n 4096
临时调整当前 shell 会话及其子进程的限制:
ulimit -Hn <number_of_files>
ulimit -Sn <number_of_files>
其中,-Hn
设置硬限制,-Sn
设置软限制。
调整当前用户的软限制和硬限制:
编辑 ~/.bashrc
或 ~/.profile
文件,添加以下行:
ulimit -Sn <number_of_files>
ulimit -Hn <number_of_files>
例如:
ulimit -Sn 4096
ulimit -Hn 8192
保存文件并重新加载配置:
source ~/.bashrc
调整系统级的限制:
编辑 /etc/security/limits.conf
文件,添加以下行:
<username> soft nofile <number_of_files>
<username> hard nofile <number_of_files>
例如,对于用户 john
,可以设置为:
john soft nofile 4096
john hard nofile 8192
调整内核参数:
编辑 /etc/sysctl.conf
文件,添加以下行:
fs.file-max = <number_of_files>
例如:
fs.file-max = 100000
应用更改:
sudo sysctl -p
你可以使用以下命令来验证调整是否生效:
查看当前用户的软限制和硬限制:
ulimit -Sn
ulimit -Hn
查看系统级的文件描述符限制:
cat /proc/sys/fs/file-max
通过以上步骤,你可以成功调整 Ubuntu 系统中打开文件数的限制。