Linuxコマンド · 1 min read · Dec 22, 2025
初心者のためのLinux chrtコマンドチュートリアル(5つの例)

プロセスは、実行中のLinuxシステムのコアを形成します。プログラムがプロセスに変換される(実行されるとき)と、多くの属性が設定されます。時には、これらの属性を実行時に変更したい場合があります。これを可能にするコマンドラインツールchrtがあります。
このチュートリアルでは、理解しやすい例を使ってこのユーティリティについて説明します。しかしその前に、この記事のすべての例はUbuntu 18.04 LTSマシンでテストされていることを述べておく価値があります。
Linux chrtコマンド
前述の導入部分で述べたように、chrtコマンドはプロセスのリアルタイム属性を操作することができます。以下がその構文です:
chrt [options] -p [prio] pidそして、ツールのマニュアルページは次のように説明しています:
chrt sets or retrieves the real-time scheduling attributes of an exist?
ing pid, or runs command with the given attributes. Both policy (one
of SCHED_OTHER, SCHED_FIFO, SCHED_RR, SCHED_BATCH, or SCHED_IDLE) and
priority can be set and retrieved.
The SCHED_BATCH policy is supported since Linux 2.6.16. The SCHED_IDLE
policy is supported since Linux 2.6.23.
The SCHED_RESET_ON_FORK flag for policies SCHED_RR and SCHED_FIFO is
supported since Linux 2.6.31.以下は、chrtコマンドの動作を理解するのに役立つQ&A形式の例です。
Q1. chrtコマンドの使い方は?
geditプロセスのスケジューリングポリシーや優先度を操作したいとします。最初に行うべきことは、このプロセスのプロセスIDを取得することです。これはpidofコマンドを使用して行うことができます。
pidof gedit私のシステムでは、例えば、上記のコマンドは出力としてpid ‘6063’を返しました。次に、geditプロセスの現在のスケジューリングポリシーと優先度を取得するには、次のようにchrtを使用します:
chrt -p 6063そして、このコマンドが私のシステムで生成した出力は次のとおりです:
pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0Q2. chrtに最小/最大の有効優先度を表示させるには?
これは、-mコマンドラインオプションを使用して行うことができます。
chrt -m例えば、私たちのシステムでは、上記のコマンドは次の出力を生成しました:
SCHED_OTHER min/max priority : 0/0
SCHED_FIFO min/max priority : 1/99
SCHED_RR min/max priority : 1/99
SCHED_BATCH min/max priority : 0/0
SCHED_IDLE min/max priority : 0/0スケジューリングポリシーを設定する際には、これらの値を参照する必要があります。
Q3. スケジューリングポリシーをSCHED_BATCHに設定するには?
これは、-bコマンドラインオプションを使用して行うことができます。
例えば:
chrt -b -p 0 6063次に、次のコマンドを使用してgeditのスケジューリングポリシーを再確認すると:
chrt -p 6063以下のような出力が得られ、行った変更が適用されたことを示します:
pid 6063's current scheduling policy: SCHED_BATCH
pid 6063's current scheduling priority: 0Q4. スケジューリングポリシーをSCHED_FIFOに設定するには?
これは、-fコマンドラインオプションを使用して行うことができます。
chrt -f -p 20 6063前のQ&Aと同様に、chrt -pコマンドを使用して変更を確認できます。-fコマンドラインオプションを使用するには、root権限が必要な場合がありますので注意してください。
Q5. スケジューリングポリシーをSCHED_OTHERに設定するには?
これは、-oコマンドラインオプションを使用して行うことができます。
chrt -o -p 0 6063確認するには、chrt -pコマンドを使用します。
chrt -p 6063私の場合の出力は次のとおりです:
pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0結論
確かに、chrtコマンドは毎日使用するようなツールではありません。実際、システム管理やカーネルスケジューリング関連の作業に従事しない限り、必要ないかもしれません。しかし、このようなツールが存在することを知っておく価値はあります。chrtに関する詳細情報は、そのマニュアルページを参照してください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。