私は試した 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