process の nice 値とそのアフィニティを同時に設定する方法はありますか? 例えば:
taskset -c 0,1 nice -20 proc
更新:このように機能します。もっと複雑なものに違いないと思いました。
process の nice 値とそのアフィニティを同時に設定する方法はありますか? 例えば:
taskset -c 0,1 nice -20 proc
更新:このように機能します。もっと複雑なものに違いないと思いました。
多くの CPU スケジューリング ツールは、コマンドではなく PID を必要とします。以下は私のシステムで動作するようです:
# Using shell expansion to reliably use correct PID.
sudo nice -n18 schedtool -a 0,1 $(sleep 30 & echo $!) &
シェル拡張を使用して、最後のバックグラウンド プロセスの PID を取得しますが、ハックのようです。以下は私見ですが、よりクリーンに見えますが、マイレージ (および使用しているスケジューリング ツールの仕様) は異なる場合があります。
# Cleaner example with less hacking around.
nice -n18 sleep 30 &
sudo schedtool -a 0,1 $!
サポートされている場合、-e フラグは、PID の代わりにコマンドを許可することで必要なことを行うようです。例えば:
sudo schedtool -a 0,1 -e nice -n18 sleep 30 &
何が問題なのtaskset -c 0,1 && nice -20 proc
ですか? taskset が成功すると、nice が呼び出されます。