"soft" 和 "hard" 的差別
soft xxx : 代表警告的設定,可以超過這個設定值,但是超過後會有警告。
hard xxx : 代表嚴格的設定,不允許超過這個設定的值。
如:soft 設為1024,hard設為2048 ,則當你使用數在1~1024之間時可以随便使用,1024~2048時會出現警告資訊,大于2048時,就會報錯。
"nproc" 和 "nofile"的差別
nproc : 是作業系統級别對每個使用者建立的程序數的限制
nofile : 是每個程序可以打開的檔案數的限制
修改系統的配置
打開/etc/security/limits.conf (部分的系統是在/etc/security/limits.d/90-nproc.conf)

設定限制數量,第一清單示使用者,* 表示所有使用者
soft nproc :單個使用者可用的最大程序數量(超過會警告);
hard nproc:單個使用者可用的最大程序數量(超過會報錯);
soft nofile :可打開的檔案描述符的最大數(超過會警告);
hard nofile :可打開的檔案描述符的最大數(超過會報錯);
重新開機後生效
reboot
注:①一般soft的值會比hard小,也可相等。
②/etc/security/limits.d/裡面配置會覆寫/etc/security/limits.conf的配置
③隻有root使用者才有權限修改/etc/security/limits.conf
④如果limits.conf沒有做設定,則預設值是1024
file-max是核心可配置設定的最大檔案數,nr_open是單個程序可配置設定的最大檔案數,是以在我們使用ulimit或limits.conf來設定時,如果要超過預設的1048576值時需要先增大nr_open值(sysctl -w fs.nr_open=100000000或者直接寫入sysctl.conf檔案)。當然百萬級别的單程序最大file-handle打開數應該也夠用了吧。。
所有程序打開的檔案描述符數不能超過/proc/sys/fs/file-max
單個程序打開的檔案描述符數不能超過user limit中nofile的soft limit
nofile的soft limit不能超過其hard limit
nofile的hard limit不能超過/proc/sys/fs/nr_open