doc/ja_JP.eucJP/man/man1/rtprio.1
SUZUKI Koichi 3947840b05 Catch up with 5.3-BETA1.
Interpretation of a chunk in cut.1
  was helped by: Yoshihiko Sarumaru <mistral@imasy.or.jp>, hrs
2004-09-24 06:50:37 +00:00

202 lines
5.4 KiB
Groff

.\"
.\" Copyright (c) 1994, Henrik Vestergaard Draboel
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Henrik Vestergaard Draboel.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/usr.sbin/rtprio/rtprio.1,v 1.26 2004/07/02 23:12:55 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd July 23, 1994
.Dt RTPRIO 1
.Os
.Sh 名称
.Nm rtprio ,
.Nm idprio
.Nd リアルタイム/アイドルタイムスケジューリング優先度の実行・確認・修正
.Sh 書式
.Nm [id|rt]prio
.Nm [id|rt]prio
.Oo Fl Oc Ns Ar pid
.Nm [id|rt]prio
.Ar priority
.Ar command
.Op args
.Nm [id|rt]prio
.Ar priority
.Fl Ar pid
.Nm [id|rt]prio
.Fl t
.Ar command
.Op args
.Nm [id|rt]prio
.Fl t
.Fl Ar pid
.Sh 解説
.Nm
ユーティリティはリアルタイムプロセススケジューリングに使用します。
.Pp
.Nm idprio
ユーティリティはアイドルタイムプロセススケジューリングに使用し、
.Nm
と同じオプションにて使用します。
.Pp
リアルタイム優先度のプロセスは優先度低下対象とはならず、
同じもしくはそれ以上のリアルタイム優先度のプロセスのみに横取りされます。
.Pp
アイドル優先度のプロセスは、
実行可能な他のプロセスが存在せず、
優先度が同じもしくはより高い実行可能なアイドル優先度プロセスが存在しない
場合のみ実行します。
.Pp
.Nm
.Nm idprio
を引数無しで実行すると、現在のプロセスのリアルタイム優先度を表示します。
.Pp
.Nm
を引数 1 つと共に実行すると、指定した
.Ar pid
のリアルタイム優先度を返します。
.Pp
.Ar priority
を指定すると、プロセスまたはプログラムをリアルタイム優先度にて実行します。
.Fl t
を指定すると、プロセスまたはプログラムを通常のプロセス
(非リアルタイムプロセス) として実行します。
.Pp
.Ar -pid
を指定すると、
.Ar pid
をプロセス識別子として持つプロセスを修正します。
そうではなく、
.Ar command
を指定すると、プログラムを引数付きで実行します。
.Pp
.Ar priority
は 0 から RTP_PRIO_MAX (通常 31) の整数値です。
0 は最高の優先度です。
.Pp
.Ar pid
に 0 を指定すると "現在のプロセス" を意味します。
.Pp
root のみがリアルタイム優先度およびアイドル優先度を設定可能です。
.Sh 診断
.Nm
がコマンドを実行した場合、このコマンドの終了値が終了値となります。
その他の場合、
.Nm
は成功時には 0 を、エラー時には 1 を終了値とします。
.Sh 使用例
現在のプロセスのリアルタイム優先度を見ます:
.Bd -literal -offset indent -compact
.Sy "rtprio"
.Ed
.Pp
プロセス
.Em 1423
のリアルタイム優先度を見ます:
.Bd -literal -offset indent -compact
.Sy "rtprio 1423"
.Ed
.Pp
.Xr cron 8
を最低のリアルタイム優先度にて実行します:
.Bd -literal -offset indent -compact
.Sy "rtprio 31 cron"
.Ed
.Pp
プロセス
.Em 1423
のリアルタイム優先度を
.Em 16
に変更します:
.Bd -literal -offset indent -compact
.Sy "rtprio 16 -1423"
.Ed
.Pp
.Xr tcpdump 1
を非リアルタイム優先度にて実行します:
.Bd -literal -offset indent -compact
.Sy "rtprio -t tcpdump"
.Ed
.Pp
リアルタイム優先度のプロセス
.Em 1423
.Dv RTP_PRIO_NORMAL
(非リアルタイム/通常の優先度) に変更します:
.Bd -literal -offset indent -compact
.Sy "rtprio -t -1423"
.Ed
.Pp
他のマシンの使用の邪魔をせずに make depend します:
.Bd -literal -offset indent -compact
.Sy "idprio 31 make depend"
.Ed
.Sh 関連項目
.Xr nice 1 ,
.Xr ps 1 ,
.Xr rtprio 2 ,
.Xr setpriority 2 ,
.Xr nice 3 ,
.Xr renice 8
.Sh 歴史
.Nm
.Fx 2.0
から登場しましたが、HP-UX のものに似たバージョンでした。
.Sh 警告
CPU を大量消費するプロセスをリアルタイム優先度で実行すると
システムを操作できなくなります。
.Sh バグ
プロセス 0 (swapper) のリアルタイム優先度を設定及び確認する方法は有りません (
.Xr ps 1
を参照)。
.Pp
.Fx
ではプロセスのページがメモリ中に存在することを保証できないため、
プロセスがページインのために停止することが有ります (
.Xr mprotect 2 ,
.Xr madvise 2
参照)。
.Pp
.Fx
では、今のところシステムコール内で実行権を横取りされることはありません。
非リアルタイムプロセスが実行中であるために
リアルタイムプロセスに実行権が割り当てられないことや、
アイドルプロセスが実行中であるために
通常優先度プロセスに実行権が割り当てられないことがあります。
.Sh 作者
.An -nosplit
.An Henrik Vestergaard Draboel Aq hvd@terry.ping.dk
はオリジナルの作者です。
.An David Greenman
.Fx
への実装時に、ほとんどを書き直しました。