#查看或設置open file限制
ulimit -n
@soft limit,軟限制,用戶可以上調軟限製到硬限制
ulimit -Sn
@hard limit,硬限制,非root用戶不能修改
ulimit -Hn
如果沒有指明,則同時修改軟限制和硬限制。
#臨時修改和永久修改
臨時修改只對當前會話有效,登出和重啟後都恢復系統設置。
@臨時修改
使用ulimit命令,以修改open file(s)為例。
ulimit -n 1024000
查看修改結果
ulimit -n
1024000
@臨時修改某個PID
prlimit -n4096 -p pid_of_process
@永久修改
在/etc/security/limits.conf
或者在/etc/security/limits.d/目錄下添加一個文件。
具體格式參考/etc/security/limits.conf
#open file(s)上限
open file(s)kernel級別有2個配置,分別是:
fs.nr_open,進程級別
fs.file-MAX,系統級別
fs.nr_open默認設置的上限是1048576,所以用戶的open file(s)不可能超過這個上限。
@sysctl命令修改上限(臨時)
#sysctl -w fs.nr_open = 10000000
#ulimit -n 10000000
#ulimit -n
10000000
@修改上限(永久)
到/etc/sysctl.conf中
例如:
#echo“fs.nr_open = 10000000”>> /etc/sysctl.conf
#echo“fs.file-max = 11000000”>> /etc/sysctl.conf
注意:fs.nr_open總是應該小於等於fs.file-max。
#查看當前打開的文件數:
#sysctl fs.file-nr
fs.file-nr = 1760 0 11000000
參考:
http://www.chengweiyang.cn/2015/11/14/how-to-enlarge-linux-open-files-upper-cell/