nice コマンドを使用すると、実行中のプロセスのスケジューリングの優先順位を変更できないことは明らかです。先ほど見たように、この場合はプロセスを停止してから開始する必要があります。ここで renice コマンドが活躍します。 renice コマンドを利用して、プロセスの実行中にナイスネスを変更できます。構文を確認するには、–help オプションを渡します。
# renice --help Usage: renice [-n][-p|--pid] ... renice [-n] -g|--pgrp ... renice [-n] -u|--user ... Alter the priority of running processes. Options: -n, --priority specify the nice increment value -p, --pid interpret argument as process ID (default) -g, --pgrp interpret argument as process group ID -u, --user | interpret argument as username or user ID -h, --help display this help and exit -V, --version output version information and exit
renice コマンドは、プロセス、プロセス グループ、またはユーザー (ターゲット) に適用できます。特権ユーザーは、他のユーザーのプロセスの優先度を変更できます。通常のユーザーの場合、priority は 0 から環境変数 PRIO_MAX (通常は 20) の間にある必要があり、数字が大きいほどナイスネスが高くなります。ナイスネスの値が高いほど、プロセスが低い優先度で実行されることを意味します。特権ユーザーは、プロセスを高速化するために、PRIO_MIN (通常は -20) まで低い負の優先度を設定できます。プロセスが最初に実行されるときのスケジューリングの優先度を設定するには、nice コマンドを参照してください。
renice コマンドの例
1. プロセスの優先度を設定するには:
# renice -n 20 -p 2112 # renice --priority 20 -p 2112
2. グループのプロセスの優先度を変更するには:
# renice -n 20 -g SUPPORT
3. ユーザーのプロセスの優先度を変更するには:
# renice -n 20 u mike
4. バージョンを取得するには:
# renice -v # renice --version
5. ヘルプを表示するには:
# renice -h # renice --help
6. ユーザーが所有するすべてのプロセスの優先度を変更します:
# renice -n niceness_value -u user
7. プロセス グループに属するすべてのプロセスの優先度を変更します。
# renice -n niceness_value --pgrp process_group
結論
renice コマンドは、既存のプロセスのナイス レベルを変更するために使用されます。その構文は次のとおりです:
$ renice -n [NICELEVEL] [PID’s]
renice コマンドとは別に、top コマンドを使用して、実行中のプロセスの nice 値を変更することもできます。次の手順は、top コマンドを使用してプロセスの優先度を変更するために使用されます:
- トップ コマンドを呼び出します。
- キーボードの r キーを押すと、最上位コマンドの現在のインタラクティブ セッションで新しいナイス値を指定するオプションが表示されます。
- 新しいナイス値と PID を入力し、Enter キーを押します。