Linux:プロセスグループが作成できるfork()呼び出しの数に制限はありますか? (すべてのユーザーではありません!)

Linux:プロセスグループが作成できるfork()呼び出しの数に制限はありますか? (すべてのユーザーではありません!)

同様のKVMホストの唯一のKVMゲストであるSuSE Linux Enterprise Server 12.5システム(カーネル4.12.14-122.60)で奇妙な問題が発生しました。

systemdによって開始されたサービスは、プログラム->プロセスを開始し、他のプログラム->サブプロセスを開始するプログラム->サブプロセスをフォークして、より多くのプログラム->サブプロセスを生成します。

約束後。 50または60個のフォーク(一部のJAVAサブプロセスを含む)は、そのプロセスツリーですべての連続したfork()呼び出しを停止し、errno = 11(リソースを一時的に使用できない)で失敗します。

同じユーザーID(UID)の並列実行ログインセッションはまだ新しいプロセスを作成でき、システム初期化ツリーで失敗したプログラムを開始することもできます。

私が理解したのは、/etc/security/limits.confのNPROC設定はUIDなどのシステム全体の制限です。ただし、ここでは親プロセスとその子プロセスと孫プロセスにのみ適用される制限があるようです。

そのような制限があり、どのように修正/拡張できますか?それとも、この動作を間接的に発生させる別のパラメータかもしれませんか?

追加情報:この問題は、私たちがインストールした1つのサーバーでのみ発生します。他のすべてはうまくいきます。これは160個のCPUコアと128GBのメモリを備えており、他のすべては50%未満です。このシステムのデフォルトNPROC値は628000です。

どんなヒントや助けをいただきありがとうございます。

ステファンBさん、こんにちは。

PS:2016年にArch-Linuxで同様の問題がいくつか発見されましたが、TasksMaxを使用するソリューションがここにも適用されるかどうかはわかりません。

ベストアンサー1

おすすめ記事