RTPRIO(1) FreeBSD 一般コマンドマニュアル RTPRIO(1)
名称
rtprio, idprio − リアルタイム/アイドルタイムスケジューリング優先度の実 行・確認・修正 |
書式
[id|rt]prio |
[id|rt]prio [ |
−]pid
[id|rt]prio priority command [args] 解説 |
rtprio ユーティリティはリアルタイムプロセススケジューリングに使用します。 idprio ユーティリティはアイドルタイムプロセススケジューリングに使用し、 rtprio と同じオプションにて使用します。 リアルタイム優先度のプロセスは優先度低下対象とはならず、同じもしくはそれ 以上のリアルタイム優先度のプロセスのみに横取りされます。 アイドル優先度のプロセスは、実行可能な他のプロセスが存在せず、優先度が同 じもしくはより高い実行可能なアイドル優先度プロセスが存在しない場合のみ実 行します。 rtprio と idprio を引数無しで実行すると、現在のプロセスのリアルタイム優先 度を表示します。 rtprio を引数 1 つと共に実行すると、指定した pid のリアルタイム優先度を返 します。 priority を指定すると、プロセスまたはプログラムをリアルタイム優先度にて実 行します。 −t を指定すると、プロセスまたはプログラムを通常のプロセス (非 リアルタイムプロセス) として実行します。 -pid を指定すると、 pid をプロセス識別子として持つプロセスを修正します。 そうではなく、 command を指定すると、プログラムを引数付きで実行します。 priority は 0 から RTP_PRIO_MAX (通常 31) の整数値です。 0 は最高の優先度 です。 pid に 0 を指定すると "現在のプロセス" を意味します。 root のみがリアルタイム優先度およびアイドル優先度を設定可能です。 |
診断
rtprio がコマンドを実行した場合、このコマンドの終了値が終了値となります。 その他の場合、 rtprio は成功時には 0 を、エラー時には 1 を終了値としま す。 |
使用例
現在のプロセスのリアルタイム優先度を見ます: rtprio プロセス 1423 のリアルタイム優先度を見ます: rtprio 1423 cron(8) を最低のリアルタイム優先度にて実行します: rtprio 31 cron プロセス 1423 のリアルタイム優先度を 16 に変更します: rtprio 16 -1423 tcpdump(1) を非リアルタイム優先度にて実行します: rtprio -t tcpdump リアルタイム優先度のプロセス 1423 を RTP_PRIO_NORMAL (非リアルタイム/通常 の優先度) に変更します: rtprio -t -1423 他のマシンの使用の邪魔をせずに make depend します: idprio 31 make depend |
関連項目
nice(1), ps(1), rtprio(2), setpriority(2), nice(3), renice(8) |
歴史
rtprio は FreeBSD 2.0 から登場しましたが、HP-UX のものに似たバージョンで した。 |
警告
CPU を大量消費するプロセスをリアルタイム優先度で実行するとシステムを操作 できなくなります。 |
バグ
プロセス 0 (swapper) のリアルタイム優先度を設定及び確認する方法は有りませ ん ( ps(1) を参照)。 FreeBSD ではプロセスのページがメモリ中に存在することを保証できないため、 プロセスがページインのために停止することが有ります ( mprotect(2), madvise(2) 参照)。 FreeBSD では、今のところシステムコール内で実行権を横取りされることはあり ません。非リアルタイムプロセスが実行中であるためにリアルタイムプロセスに 実行権が割り当てられないことや、アイドルプロセスが実行中であるために通常 優先度プロセスに実行権が割り当てられないことがあります。 |
作者
Henrik Vestergaard Draboel 〈hvd@terry.ping.dk〉 はオリジナルの作者です。 David Greenman が FreeBSD への実装時に、ほとんどを書き直しました。 FreeBSD 10.0 July 23, 1994 FreeBSD 10.0 |