web-dev-qa-db-ja.com

システム内のユーザーごとの同時プロセスの数を制限するにはどうすればよいですか?

はい、何度も質問されたことは知っていますが、残念ながら完全な答えは見つかりませんでした。

では、ユーザーごとの同時プロセスの数を制限するにはどうすればよいですか?

私は2つの解決策を見つけました:

  1. pam_limitsを使用します。その場合、/ etc/security /limits.confファイルを構成する必要があります。残念ながら、このソリューションはpam対応アプリケーションでのみ機能します。つまり、普遍的ではありません。

  2. $ HOME/profileから呼び出されたulimitを使用します。残念ながら、すべての場合に機能するとは限りません。 「ulimit-u100」を設定してから、同じシェル「stress --vm 200 --vm--bytes100」で起動しました。アプリケーションが正常に起動し、ユーザーrootで200を超えるプロセスを取得しました。

堅牢なシステムを構築する必要があるため、場合によってのみ機能するソリューションは不適切です。

5
OJ278

カーネルセキュリティパッチ grsecurity にはEnforce RLMIT_NPROC on execsという機能があります。有効にすると、ユーザーごとの制限がログインごとではなくシステム全体に適用されます(または、観察したようにさらに悪いことになります)。

2

/etc/security/limits.confで制限を設定できます

0
B14D3

同じシェルでは機能しません。 rootの.bashrcにulimit設定を入れて、rootとして再度ログインして試してください。 ulimit-aを使用して確認できます。

0
johnshen64