在 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 系統中打開文件數的限制。