天天看點

Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置

"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)

Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置

設定限制數量,第一清單示使用者,* 表示所有使用者

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

繼續閱讀