Linux 系統中可以設定關於資源的使用限制,比如:進程數量,檔案柄數,連結數等等。
在使用 Linux 系統時,若切換 root 使用者為普通使用者,可能出現 Resource temporarily unavailable 報錯,這是由於當前使用者的進程數超出限制。因此需要手動修改 Linux 系統的最大進程數。
nproc:表示 max number of processes,是工件系統級別對每個使用者建立的進程數的限制。
nofile:表示 max number of open file descriptors,每個進程可以開啟的檔案數的限制。
hard/soft:soft 是一個警告值,而 hard 則是一個真正意義的閥值,超過就會報錯。
1)在 Linux 終端執行命令 ulimit -a
查看 max user processes :即系統限制某使用者下最多可以運作多少進程或執行緒。如下圖所示:
2)也可在 Linux 終端執行命令 ulimit -u。
進入 /etc/security/limits.conf 檔案下,增加如下代碼,並儲存:
roxy soft nproc 10240roxy hard nproc 10240roxy soft nofile 10240roxy hard nofile 10240
注:roxy 為需要修改執行緒數的帳號,10240 為設定的進程數和檔案數限制,可根據需要修改。
1)進入 /etc/security/limits.conf 檔案下,增加如下代碼,並儲存:
* soft nproc 10240 * hard nproc 10240
注:* 表示對所有使用者都生效。
2)進入 /etc/security/limits.d/xx-nproc.conf 檔案下,增加如下代碼,並儲存:
* soft nproc 10240
注:1. 10240 為設定的進程數和檔案數限制,可根據需要修改。
注:2. cemtos6 需修改的檔案路徑為 /etc/security/limits.d/90-nproc.conf ,CentOS7 需修改的檔案路徑為 /etc/security/limits.d/20-nproc.conf 。
在終端執行 ulimit -a,即可查看修改後系統限制某使用者下最多可以運作多少進程或執行緒。