nice コマンドを使用すると、デフォルトとは異なる nice 値でコマンドを実行できます。 -n オプションは、指定された整数でナイス値を増やします。整数を指定しない場合、コマンドは 10 の増分を想定します。オプションを指定せずに nice を実行すると、デフォルトの nice 値が表示されます。より高い優先度でコマンドを実行するには、root ユーザー権限が必要です。いったん下げられると、通常のユーザーは、そのプロセスを所有していても、そのプロセスの優先度を上げることはできません。
構文
nice コマンドの構文は次のとおりです。
# nice [-n {nice value increment}] [command]
通常、プロセスが開始されると、デフォルトの優先度値 0 が取得されます。nice コマンドは、異なる優先度でプロセスを開始するために使用されます。その構文は次のとおりです:
# nice -n [NICELEVEL] [command]
大きなジョブをナイス レベル 7 で実行するように設定する例を次に示します。
# nice −7 sort VeryLargeFile > outfile
レベルなしでナイスに走ると、10 が使用されます。通常のプロセス (nice なしで実行) はレベル 0 で実行されます。これは、nice を引数なしで実行することで確認できます:
# nice 0
スーパーユーザーはナイス レベルを下げて、プロセスの優先度を上げることもできます。
# nice --10 myprogram
(はい、それは「ダッシュ マイナス 10」です。) ジョブのナイス レベルを確認するには、ps を使用して「NI」列を確認します。
# ps -o pid,user,args,nice
top コマンドを使用して、プロセスの優先順位を表示することもできます。 NI (プロセスのナイス レベル マッピングを表示) と PR (カーネル内のより大きな優先度キューへの優先度値のマッピングを表示) という名前の 2 つの列が表示されます。
優先度の変更
CPU を大量に消費するプロセスに低い nice 値、つまり高い優先度を割り当てると、同じ Linux システムで実行されている他のプロセスのパフォーマンスに影響を与えます。したがって、root だけがプロセスに高い優先度を与えることができます。たとえば、実行中のプロセスに負のナイス値を設定することができます。
通常のユーザーは、プロセスの優先度を下げることしかできません。つまり、特定のプロセスの既存の nice 値よりも高い正の値のみを設定できます。