8

process の nice 値とそのアフィニティを同時に設定する方法はありますか? 例えば:

 taskset -c 0,1 nice -20 proc

更新:このように機能します。もっと複雑なものに違いないと思いました。

4

2 に答える 2

2

PID ベースのスケジューリング ツールの使用

多くの 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 &
于 2012-07-23T14:28:51.993 に答える
0

何が問題なのtaskset -c 0,1 && nice -20 procですか? taskset が成功すると、nice が呼び出されます。

于 2012-07-23T14:18:45.907 に答える