web-dev-qa-db-ja.com

「最大プロセス」の「ソフト制限」を変更します

私は試した ulimit -u 2000およびulimit -Su 2000 'Max processes'を変更し、プログラムを起動しましたが失敗しました。ファイル「/ proc/pid/limit」がまだあることがわかりました:

Max processes             1024                 2000                 processes

ソフトリミットを変更するにはどうすればよいですか?

ulimit -aは何を示していますか?

グローバルの上限に達しているか、権限の問題が発生している可能性があります。私はあなたの実験を試みました、そしてそれは私にとってはうまくいきました。

/proc/pid/limitsの出力は次のようになります。

$ cat /proc/22666/limits | grep processes
Max processes             1024                 62265                processes 

$ ulimit -a | grep processes
max user processes              (-u) 1024

ソフト制限を2000に設定:

$ ulimit -Su 2000

$ ulimit -a | grep processes
max user processes              (-u) 2000

$ cat /proc/22666/limits | grep processes
Max processes             2000                 62265                processes 

ほかに何か?

私はあなたの/etc/security/limits.confファイルを調べて、通常のユーザーがこの制限を変更できないようにしているそのファイルからの制限があるかどうかを確認します

また、/etc/security/limit.d/というディレクトリも調べます。多くの場合、追加の制限を含む追加のファイルがあります。たとえば、私のFedoraシステムでは、次のファイルがあります。

$ cat /etc/security/limits.d/90-nproc.conf 
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024

参考文献

7
slm