はい、何度も質問されたことは知っていますが、残念ながら完全な答えは見つかりませんでした。
では、ユーザーごとの同時プロセスの数を制限するにはどうすればよいですか?
私は2つの解決策を見つけました:
pam_limitsを使用します。その場合、/ etc/security /limits.confファイルを構成する必要があります。残念ながら、このソリューションはpam対応アプリケーションでのみ機能します。つまり、普遍的ではありません。
$ HOME/profileから呼び出されたulimitを使用します。残念ながら、すべての場合に機能するとは限りません。 「ulimit-u100」を設定してから、同じシェル「stress --vm 200 --vm--bytes100」で起動しました。アプリケーションが正常に起動し、ユーザーrootで200を超えるプロセスを取得しました。
堅牢なシステムを構築する必要があるため、場合によってのみ機能するソリューションは不適切です。
カーネルセキュリティパッチ grsecurity にはEnforce RLMIT_NPROC on execs
という機能があります。有効にすると、ユーザーごとの制限がログインごとではなくシステム全体に適用されます(または、観察したようにさらに悪いことになります)。
/etc/security/limits.conf
で制限を設定できます
同じシェルでは機能しません。 rootの.bashrcにulimit設定を入れて、rootとして再度ログインして試してください。 ulimit-aを使用して確認できます。