Linuxで "Nice"と "Renice"コマンドを使う

それはすべて優先事項です。

Linuxシステムは、多くのプロセス(ジョブ)を同時に実行できます。 CPUに複数のプロセッサまたはコアがある場合でも、プロセスの数は一般に使用可能なコアの数をはるかに超えています。 Linuxカーネルは、使用可能なCPUサイクルをアクティブなプロセスに分配することを務めています。

優先順位をストレートに取得するのはニース

デフォルトでは、すべてのプロセスは同じように緊急と見なされ、同じCPU時間が割り当てられます。 ユーザがプロセスの相対的な重要度を変更できるようにするために、Linuxは優先パラメータをユーザが設定または変更できる各ジョブに関連付けます。 Linuxカーネルは、相対的な優先順位値に基づいて各プロセスのCPU時間を予約します。

niceパラメータは、この目的のために使用されます。 それはマイナス20からプラス19の範囲で、整数値のみを取ることができます。 マイナス20の値は最も高い優先度を表し、19は最も低い優先度を表します。 最優先レベルが最も負の数で示されるという事実は、やや直感的ではありません。 しかし、他のプロセスがより大きなCPU時間分担を使用できるようにするため、より低い優先順位での実行は「より良い」と考えられます。

ニースの遊び方

niceコマンドを使用すると、新しいプロセス(ジョブ)が開始され、同時に優先順位(nice)値が割り当てられます。 すでに実行されているプロセスの優先順位を変更するには、コマンドreniceを使用します。

たとえば、次のコマンドラインでは、「large-job」というプロセスが開始され、nice値が12に設定されます。

素敵な12大仕事

12の前のダッシュはマイナス記号を表していないことに注意してください。 これは、niceコマンドに引数として渡されたフラグをマークする通常の機能を持っています。

nice値を-12に設定するには、別のダッシュを追加します。

素敵な - 12大仕事

低いnice値はより高い優先度に対応することに注意してください。 したがって、-12は12よりも高い優先度を持ちます。デフォルトのnice値は0です。通常のユーザーは低い優先度(正のnice値)を設定できます。高い優先度(負のnice値)を使用するには管理者権限が必要です。

reniceを使用して、すでに実行中のジョブの優先度を変更できます。

腎臓17 -p 1134

これにより、プロセスID 1134のジョブのnice値が17に変更されます。この場合、nice値を指定するときにコマンドオプションにダッシュは使用されません。 次のコマンドは、プロセス1134のnice値を-3に変更します。

ルイス-3 -p 1134

現在のプロセスのリストを出力するには、psコマンドを使用します。 "l"( "list"のように)オプションを追加すると、列見出し "NI"のnice値が表示されます。 例えば:

ps -al