
特定のユーザーが一度に使用できる CPU コアの数を制限したいと思います。 Linux でこれを実行するにはどうすればよいですか?
答え1
私の知る限り、Docker を仮想環境として使用し、コンテナ全体を選択したコアに制限する以外に、これを行うことはできません。例:
docker run --cpuset-cpus="0"
ほとんどの場合、このような解決策を強制的に使用する必要はありません。 ユーザーの 1 人が問題を引き起こす場合は、次の/etc/security/limits.conf
エントリを追加します。
username - priority 19
これにより、すべてのユーザーのプロセスが優先度 19 (最低) で実行されるようになり、CPU を大量に消費している場合でも、マシン上の他のプログラムに干渉することはありません。
また、単一プロセス(ユーザーではない)の問題の場合は、nice
またはcpulimit
/を使用できます。cgroups