Linux 上でユーザーが一度に使用できる CPU コアの数を制限するにはどうすればよいですか?

Linux 上でユーザーが一度に使用できる CPU コアの数を制限するにはどうすればよいですか?

特定のユーザーが一度に使用できる CPU コアの数を制限したいと思います。 Linux でこれを実行するにはどうすればよいですか?

答え1

私の知る限り、Docker を仮想環境として使用し、コンテナ全体を選択したコアに制限する以外に、これを行うことはできません。例:

docker run --cpuset-cpus="0"

ほとんどの場合、このような解決策を強制的に使用する必要はありません。 ユーザーの 1 人が問題を引き起こす場合は、次の/etc/security/limits.confエントリを追加します。

username    -       priority        19

これにより、すべてのユーザーのプロセスが優先度 19 (最低) で実行されるようになり、CPU を大量に消費している場合でも、マシン上の他のプログラムに干渉することはありません。

また、単一プロセス(ユーザーではない)の問題の場合は、niceまたはcpulimit/を使用できます。cgroups

関連情報