priocntl(1) ユーティリティは、プロセスをスケジューリングする際に、次の 4 つの制御機能を実行します。
priocntl -l |
とすると、設定内容が表示される。 |
priocntl -d |
とすると、プロセスのスケジューリングパラメタが表示される。 |
priocntl -s |
すると、プロセスのスケジューリングパラメタが設定される。 |
priocntl -e |
とすると、指定したスケジューリングパラメタでコマンドが実行される。 |
詳細は、priocntl(1) のマニュアルページを参照してください。以下に、priocntl を使用した例をいくつか示します。
デフォルト設定について -l オプションを使用すると、次のように出力されます。
$ priocntl -l CONFIGURED CLASSES ================== SYS (System Class) TS (Time Sharing) Configured TS User Priority Range: -20 through 20 RT (Real Time) Maximum Configured RT Priority: 59
すべてのプロセスについての情報を表示する例
$ priocntl -d -i all . . .
すべてのタイムシェアリングプロセスについての情報を表示する例
$ priocntl -d -i class TS . . .
ユーザ ID が 103 または 6626 のすべてのプロセスについての情報を表示する例
$ priocntl -d -i uid 103 6626 . . .
ID 24688 のプロセスに実時間プロセスのデフォルトパラメタを設定する例
$ priocntl -s -c RT -i pid 24668
ID 3608 のプロセスに優先順位 55 の実時間プロセスとして設定する例
$ priocntl -s -c RT -p 55 -t 1 -r 5 -i pid 3608
すべてのプロセスをタイムシェアリングプロセスに変更する例
$ priocntl -s -c TS -i all
ユーザ ID 1122 のプロセスに対して、タイムシェアリングユーザ優先順位とユーザ優先順位限界を -10 に減少する例
$ priocntl -s -c TS -p -10 -m -10 -i uid 1122
デフォルトの実時間優先順位で実時間シェルを開始する例
$ priocntl -e -c RT /bin/sh
タイムシェアリングユーザ優先順位を -10 にして make を実行する例
$ priocntl -e -c TS -p -10 make bigprog
priocntl コマンドは、nice の機能を包んでいます。nice は、タイムシェアリングプロセスについてだけ有効で、数値が大きいほど優先順位が低くなります。上の例は、「増分」に -10 を指定して nice を実効するのと同じです。
$ nice -10 make bigprog