Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

dispadmin(8)

名前

dispadmin - プロセススケジューラ管理

形式

dispadmin -l
dispadmin -c class {-g [-r res] | -s file}
dispadmin -d [class]

説明

dispadmin コマンドは、システムの実行中にプロセススケジューラパラメータを表示または変更します。

dispadmin は、file に指定された値が要求される範囲内であることを確認するために、限定的なチェックを行います。ただし、このチェックはシステムのパフォーマンスに対する新しい値の影響は分析しません。不適切な値はシステムパフォーマンスに悪影響を及ぼす場合があります。

オプション

サポートしているオプションは、次のとおりです。

–c class

表示または変更するパラメータのクラスを指定します。有効な class 値は、リアルタイムクラスの RT、タイムシェアリングの TS、対話型クラスの IA、フェアシェアクラスの FSS、および固定優先度クラスの FXです。タイムシェアリングクラスと対話型クラスは同じスケジューラを共有するため、一方のスケジューリングパラメータを変更すると、他方のパラメータも変更されます。

–d [class]

リブート時に svc:/system/scheduler:default を開始する際に使用されるデフォルトスケジューリングクラスの名前を設定または表示します。クラス名が指定されない場合、現在のデフォルトスケジューリングクラスの名前と説明が表示されます。クラス名が指定され、有効なスケジューリングクラス名の場合、dispadmin の非公開構成ファイル /etc/dispadmin.conf に保存されます。スーパーユーザーだけがデフォルトスケジューリングクラスを設定できます。

–g

指定されたクラスのパラメータを取得し、それらを標準出力に書き込みます。リアルタイムクラスのパラメータについては、rt_dptbl(5) を参照してください。タイムシェアリングクラスと対話型クラスのパラメータについては、ts_dptbl(5) を参照してください。フェアシェアクラスのパラメータについては、FSS(4) を参照してください。固定優先度クラスのパラメータについては、fx_dptbl(5) を参照してください。

–g オプションと –s オプションは互いに排他的で、テーブルを上書きするのと同時に取得することはできません。

–l

システム内で現在構成されているスケジューラクラスを一覧表示します。

–r res

–g オプションを使用するときに –r オプションを使用して、タイム定量値を出力するために使用する最小単位を指定することもできます。最小単位を指定しない場合、タイム定量値はミリ秒単位です。res を指定する場合は、1 から 1000000000 以内の正の整数を指定する必要があり、使用される最小単位は res の逆数 (秒単位) です。たとえば、res 値が 10 の場合、10 分の 1 秒単位で表現されたタイム定量値になり、res の値が 1000000 の場合、ミリ秒単位で表現されたタイム定量値になります。タイム定量を指定された最小単位の整数として表現できない場合、指定された最小単位の次の整数倍に丸められます。

–s file

指定されたクラスのスケジューラパラメータを、file の値を使って設定します。これらの値がメモリー内の現在の値を上書きします-それらは指定されたクラス内のプロセスのスケジューリングを制御するパラメータになります。file 内の値は、–g オプションで出力される形式である必要があります。さらに値は、上書きされるテーブルと同じサイズ (同じ数の優先度レベルを持つ) のテーブルを記述している必要があります。–s オプションを使用するには、スーパーユーザー特権が必要です。

スケジューリングクラスのタイム定量値は、一定時間単位ではなくシステムクロックティック単位で指定します。タイム定量値はカーネルの hz 変数の値に基づきます。クロック動作の最小単位を細かくするためにカーネル変数 hires_tick1 に設定すると、実際のタイム定量値は 10 の次数に減ります。

–g オプションと –s オプションは互いに排他的で、テーブルを上書きするのと同時に取得することはできません。

使用例 1 リアルタイムクラスの現在のスケジューラパラメータを取得する

次のコマンドは、リアルタイムクラスの現在のスケジューラパラメータをカーネルメモリーから取得し、それらを標準出力に書き込みます。タイム定量値はマイクロ秒です。

dispadmin –c RT –g –r 1000000
使用例 2 リアルタイムクラスの現在のスケジューラパラメータを上書きする

次のコマンドは、リアルタイムクラスの現在のスケジューラパラメータを、rt.config に指定された値で上書きします。

dispadmin –c RT –s rt.config
使用例 3 タイムシェアリングクラスの現在のスケジューラパラメータを取得する

次のコマンドは、タイムシェアリングクラスの現在のスケジューラパラメータをカーネルメモリーから取得し、それらを標準出力に書き込みます。タイム定量値はナノ秒です。

dispadmin –c TS –g –r 1000000000
使用例 4 タイムシェアリングクラスの現在のスケジューラパラメータを上書きする

次のコマンドは、タイムシェアリングクラスの現在のスケジューラパラメータを、ts.config に指定された値で上書きします。

dispadmin –c TS –s ts.config

ファイル

/etc/dispadmin.conf

–s オプションの引数に指定できる場所。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

priocntl(1)svcs(1)priocntl(2)FSS(4)fx_dptbl(5)rt_dptbl(5)ts_dptbl(5)attributes(7)smf(7)svcadm(8)

診断

dispadmin は、必要なアクセス権の不足や指定された入力ファイルの問題が原因で現在のスケジューラパラメータの上書きに失敗すると、適切な診断メッセージを出力します。

デフォルトスケジューリングクラス設定機能は、サービス管理機構 smf(7) によって、次のサービス識別子の下で管理されます。

svc:/system/scheduler:default

再起動の有効化、無効化、要求などのこのサービスでの管理アクションは、svcadm(8) を使用して実行できます。実行中にサービスを無効にしても、何も変更されません。サービスステータスを照会するには、svcs(1) コマンドを使用します。