ニース値
100%

プロセス · レッスン 8

ニース値

nice 値が通常の Linux プロセスの CPU スケジューリング重みに影響する仕組みを学びます。

Linux は異なる CPU コアで複数スレッドを同時実行し、1つのコアでは同時に動かせる数を超える実行可能スレッドへ時間を分配できます。スケジューラーは方針、優先度、affinity、ワークロードに従って選び、nice 値は通常の時分割方針における1つの入力です。

Nice 値を解釈する

一般的な範囲は -20 から 19 です。

  • 低い値は、比較可能なタスクに対して相対的に大きなスケジューリング重みを与える。
  • 高い値はより「nice」で、相対的な重みが小さい。
  • 既定値は一般に 0

CPU の割合を予約したり、即時実行を保証したりはしません。効果は比較可能な実行可能タスクが CPU 時間を競うときに最も見えます。リアルタイム方針、cgroup、CPU affinity、I/O 待ちなどが観測結果を左右する場合があります。

同じ通常スケジューリング方針で、相対的な CPU 重みが最も大きい nice 値はどれですか?

Niceness を表示する

topNI 列で確認できます。ps でも明示できます。

$ ps -o pid,ni,pri,stat,cmd -p 3245

NI はユーザーから見える nice 値です。PRI などは導出されたスケジューラー優先度の場合があり、尺度はツールやクラスで異なるため、交換可能だと思わないでください。

top で nice 値を通常表示する列はどれですか?

`nice` でコマンドを開始する

$ nice -n 5 long-computation

要求する調整と対応構文はローカルのマニュアルで確認できます。非特権ユーザーは通常、値を増やしてコマンドをより nice にできます。値を下げ、有利な重みを与えるには適切な権限またはリソース制限設定が必要です。

nice -n 5 long-computation は何をしますか?

`renice` で既存プロセスを変更する

$ renice -n 10 -p 3245

PID 3245 へ nice 値 10 を要求します。PID は再利用されるため対象を先に確認し、結果も検証します。権限は所有者、特権、リソース制限、システム方針次第です。自分のプロセスの値を増やすことは通常可能ですが、特権なしでは元へ戻せない場合があります。

既存プロセスの nice 値を変更するツールはどれですか?

Linux プロセスの管理と監視 では nice 値の表示と変更を練習できます。アイドルなシステムで差を期待せず、競合する CPU バウンドタスクを比較してください。

レッスン完了

ニース値 を完了しました

niceness を CPU 保証と誤解せず、解釈・調整できるようになりました。

  • 低い nice 値をより大きな相対スケジューリング重みとして読む。

  • NI を導出された優先度フィールドと分けて調べる。

  • コマンド起動時は nice を使う。

  • 確認済みの既存プロセスには renice を使う。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
プロセス に戻る