Sun Enterprise 10000 Domain 構成マニュアル

調整可能な変数とパラメタ

IDN の性能や資源使用状況に影響を与える変数がいくつかあります。この節では、これらの変数やパラメタの設定方法について説明し、最小値、最大値、およびデフォルトの値を示します。

OpenBoot PROM 変数

OpenBootTM PROM (OBP) には、IDN を有効にするために変更する必要のある IDN 関連の変数が 1 つあります。この変数は、SMR (Shared Memory Region: 共有メモリー領域) サイズ変数である idn-smr-size です。この変数には、SMR のサイズをメガバイト単位で指定します。値を 0 に設定すると、IDN ネットワーキングが無効になります。0 以外の値は、SMR のために予約されたカーネル空間のメガバイト数を示します。idn-smr-size のデフォルト値は、0 です。

SMR が大きいほど、データ転送に利用できるバッファの数が多くなります。ただし、ある一定のサイズを超えると、SMR を大きくしてもそれ以上の利点はありません。idn-smr-size の推奨値は、通常の用途に十分な 32 メガバイトです。最大値は、96 メガバイトです。

idn-smr-size の値は、OBP プロンプトでのみ設定することができます。新たな値を有効にするには、ドメインを再起動する必要があります。ただし、idn.conf ファイル中の idn_smr_size 変数を使用して、SMR の実際のサイズを削減することができます。


注 -

IDN 内にあるすべてのドメインでは、idn-smr-size が同じ値である必要があります。idn-smr-size の値が正しくないドメインがある場合、またはこの値を IDN 全体で変更したい場合は、対象のドメインを再起動して OBP プロンプトを表示し、この変数を設定し直します。


OBP 変数を設定する
  1. netcon(1M) ウィンドウで、スーパーユーザーとしてドメインにログインします。

  2. ドメインを起動または停止して OBP プロンプトを表示し、以下の例のように setenv コマンドを使用して OBP 変数を設定します。


    <#O> ok setenv idn-smr-size size
    

  3. ドメインを再起動します。

  4. 再起動に成功したら、OBP の設定を確認します。


    <#O> ok cd /memory
    <#O> ok .properties
    

    2 番目のコマンドにより、以下の例のような、OBP 変数とその設定の一覧が表示されます。


    idn-smr-size              00 00 00 20
    idn-smr-addr              00 00 00 0a 7d 3f 00 00 00 00 00 00 02 00 00 00
    dr-max-mem                00 00 9c 40
    reg                       0000000a 00000000 00000000 80000000
    available                 0000000a 7fff0000 00000000 00004000
                              0000000a 7fcd8000 00000000 00016000
                              0000000a 00000000 00000000 7189e000
    name                      memory

    SMR の割り当てに成功した場合は、idn-smr-addr の値は、SMR のベース物理アドレス (例 0xA7D3F0000) とバイト単位のサイズ (例 0x2000000) を表す、0 でない値になります。

ndd(1M) ドライバパラメタ

ndd(1M) ドライバパラメタを変更して、性能や資源使用状況が最適になるようにシステムを調整できます。この節では、変更可能なパラメタ、パラメタの変更方法、各パラメタに指定できる値の範囲について説明します。

ndd(1M) ドライバパラメタを設定する
  1. 現在のパラメタの設定を読み取ります。


    # ndd /dev/idn parameter
    

    IDN ドライバがサポートするすべての ndd(1M) パラメタを表示するには、以下のコマンドを使用します。


    # ndd /dev/idn "?"
    

  2. ドライバパラメタを変更します。


    # ndd -set /dev/idn parameter value
    

    この節で説明するドライバパラメタを変更するには -set 構文を使用する必要があります。また、この節に示すドライバパラメタは、以下に記載する場合以外は、随時変更可能です。

    以下の表に ndd(1M) コマンドに指定できる各パラメタの名前とそれぞれの簡単な説明を示します。ndd(1M) の使用法の詳細は、マニュアルページの ndd(1M) を参照してください。

    表 3-1 ndd(1M) パラメタ

    名前 

    最小値 

    最大値 

    デフォルト値 

    説明 

    idn_modunloadable

    IDN ドライバを (使用されていないという前提で) 読み込み不能に設定する 2 進フラグ。値を 0 に設定するとこのフラグはオフになり、1 に設定するとオンになります。この値は、随時変更可能です。 

    idn_slabpool

    − 

    − 

    − 

    ドメインが接続され、そのドメインが IDN のマスタードメインである場合は、このパラメタは、IDN スラブプールを表示し、利用可能なスラブの数とどのスラブが各ドメインに割り当てられているかを示します。この値は読み取り専用です。 

    idn_buffers

    − 

    − 

    − 

    ドメインが持つ未処理の SMR 入出力バッファーの数。この数は、このドメインが接続された他のドメインを考慮した数です。この値は読み取り専用です。 

    idn_mboxtbl

    − 

    − 

    − 

    ドメインに割り当てられたメールボックステーブルを表示します。ドメインが IDN のメンバーでない場合は、テーブルは表示されません。メールボックスヘッダークッキー、準備完了かつ使用可能な状態、あるいはそのいずれかの状態のポインタの値、各チャネルサービスが準備完了かつ使用可能な状態である、あるいはそのいずれかの状態であるかどうかを示す情報が表示されます。この値は読み取り専用です。 

    idn_mboxtbl_all

    − 

    − 

    − 

    idn_mboxtbl と同じ内容を、IDN 全体について表示します。このパラメタは、マスタードメインとの関連で実行される場合にだけ意味があります。これは、マスタードメインが広域メールボックス領域へのポインタを保持するためです。

    idn_mainmbox

    − 

    − 

    − 

    他の IDN メンバードメインに対する送受信メールボックス用にドメインが保持するメールボックス管理構造体の詳細情報が含まれています。この値は読み取り専用です。 

    idn_global

    − 

    − 

    − 

    ドメインに関する広域状態情報 (たとえば、使用可能なチャネル、使用可能なチャネルに接続されたドメインの数、SMR の物理アドレスなど) を表示します。IDN 内の各ドメインの接続状態の要約も表示します。この値は読み取り専用です。 

    idn_domain

    − 

    − 

    − 

    ドメインに関する特定の状態情報 (たとえば、未処理のタイマーの数、投票チケット、未処理のバッファーの数) を表示します。この値は読み取り専用です。 

    idn_domain_all

    − 

    − 

    − 

    idn_domain と類似の情報を表示しますが、目的のドメインが接続されたすべてのドメインに関する情報が含まれます。この値は読み取り専用です。

    idn_bind_net

    − 

    − 

    − 

    ドメイン内の特定のプロセッサにユーザーが特定のチャネルサーバー (インタフェース) を結合できるようにします。これにより、IDN データの実際の受信処理をドメイン内のどのプロセッサから指示するかを細かく制御できます。デフォルトでは、サーバーは結合されていません。したがって、サーバーは通常のスレッドで処理時間を直接競い合います。この引数は、channel=cpuid 形式で指定します。たとえば、0=25 は、idn0 インタフェースで受信するデータの処理を担当するチャネルサーバーを cpuid 25 に結合します。この値は随時変更可能です。

driver.conf(4) パラメタ

IDN では、IDN ドライバ用の driver.conf(4) ファイルを使用して特定の調整可能なパラメタと構成パラメタ、またはそのいずれかを設定できます。このファイルは、以下に示すパスにあります。

/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/idn.conf

これらのパラメタを変更するには、driver.conf(4) ファイルを編集する必要があります。ほとんどのパラメタは、グローバルパラメタです。bind_cpu パラメタのみが、インスタンス (インタフェース) ごとに作用します。パラメタの値は、modload(1M) コマンドを使用して IDN ドライバを読み込むと有効になります。

IDN パラメタを設定するための手順は、ドメインの現在の状態によって異なります。ドメインが起動され稼動しているが、IDN にリンクされていない場合は、「再起動しないで IDN パラメタを設定する」の指示に従って、ドメインを再起動せずに IDN パラメタを設定します。ドメインが稼動していないか、またはドメインを再起動する場合は、「再起動しないで IDN パラメタを設定する」の指示に従って IDN パラメタを設定します。

再起動しないで IDN パラメタを設定する
  1. ドメインが IDN にリンクされていないことを確認します。

  2. netcon(1M) ウィンドウで、ディレクトリを idn.conf ファイルが存在するディレクトリに変更します。


    % cd /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/
    

  3. 使用する新しい値を反映するように、idn.conf ファイルを編集します。

  4. すべての IDN ネットワークインタフェースを unplumb します。

  5. ndd(1M) コマンドを使用して、idn_modunloadable パラメタを適切な値に設定します。


    % ndd -set /dev/idn idn_modunloadable 1
    

  6. modunload(1M) コマンドを使用して、IDN ドライバモジュールをアンロードします。


    % modunload -i id
    

    id の値は、IDN モジュール ID 番号の ID に対応する必要があります。IDN モジュール ID 番号の入手方法の詳細は、modinfo(1M) マニュアルページを参照してください。

  7. IDN ネットワークインタフェースを再度 plumb します。

再起動して IDN パラメタを設定する
  1. netcon(1M) ウィンドウで、ディレクトリを idn.conf ファイルが存在するディレクトリに変更します。


    % cd /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/
    

  2. テキストエディタを使用してこのファイルを編集し、IDN のパラメタと値を設定します。

    以下に idn.conf ファイルの例を示します。


    name="idn" parent="pseudo" instance=0 bind_cpu=10;
    name="idn" parent="pseudo" instance=1;
    name="idn" parent="pseudo" instance=2 bind_cpu=35;
    idn_pil=4;
    idn_protocol_nservers=2;

    すべての必須パラメタについて、同一 IDN 内にある各ドメインの idn.conf ファイルを編集する必要があります。その他のパラメタについては、目的のドメインの idn.conf ファイルのみを編集します。

    各エントリは複数の行で構成できますが、セミコロンで終了する必要があります。上の例では、インスタンス 0 チャネルサーバー (idn0) は、CPU 10 に結合されます (システムに CPU 10 があるという仮定で)。(idn1) 用のインスタンス 1 チャネルサーバーはシステム内のいずれの CPU にも結合されず、(idn2) 用のインスタンス 2 チャネルサーバーは CPU 35 に結合されます (システムに CPU 35 があるという仮定で)。

  3. ドメインを再起動します。

    一致させる必要があるパラメタの設定を変更した場合は、IDN 内の各ドメインを再起動する必要があります。一致させる必要のないパラメタの設定を変更した場合は、IDN 内の 1 つのドメインを再起動するだけですみます。一致させる必要のあるパラメタの一覧は、「一致させる必要があるパラメタ」を参照してください。

idn.conf(4) ファイル

modload(1M) コマンドによる IDN の読み込み時に特定のパラメタが設定されるように、idn.conf(4) ファイルにそれらのパラメタの値を定義しておくことができます。このファイルに IDN のインスタンスを追加することもできます。各 IDN インスタンスに対して、idn.conf(4) ファイルに以下の行 (n はインスタンスの番号) を追加します。


name="idn" parent="pseudo" instance=n;


注 -

ドメインが IDN にリンクされている間は、すべての idn.conf(4) ファイルパラメタを変更できます。ただし、値を有効にするには、ドメインを再起動する必要があります。


以下の表にパラメタの名前、パラメタの最小値、最大値、デフォルト値、またそれらの値の単位を示します。


注意 - 注意 -

以下の表に示したパラメタは、経験を積んだ IDN ユーザー以外は使用しないでください。値を変更すると、IDN の動作に悪影響を及ぼす場合があります。


表 3-2 IDN idn.conf(4) ファイルのパラメタ

名前 

最小値 

最大値 

デフォルト値 

説明 

bind_cpu

− 

− 

-1 

対応するチャネルサーバーがオンラインになった後に、そのチャネルサーバーに結合する cpuid を指定します。このパラメタは、特定の CPU インスタンスに関連付ける必要があります。指定されたcpuid がドメイン内の有効な CPU でない場合は、チャネルサーバーは結合されません。この値には、CPU の ID を指定します (-1 は非結合)。

idn_awolmsg_interval

3600 

30 

ドメインごとに、コンソール上に AWOL メッセージが表示される頻度を制御します。この値は秒単位で指定します。 

idn_checksum

SMR メールボックスに対する検査合計の検証を設定する 2 進フラグです。値を 0 に設定するとこのフラグはオフになり、1 に設定するとオンになります。 

idn_dmv_pending_max

512 

128 

単一のプロセッサが IDN ドライバに対して保留できる未処理の DMV 割り込みの最大数を制御します。このパラメタは、着信クロスドメイン割り込みのデータのカプセル化のために使用するキューの構造体も記述します。この値は数で指定します。 

idn_history

IDN が特定の IDN イベントの内部ログをオンにするかどうかを設定する 2 進フラグです。このパラメタは、問題の分析のためのみに使用します。サポート担当者が後のデバッグのために情報を収集することが可能になります。値を 0 に設定するとこのフラグはオフになり、1 に設定するとオンになります。 

idn_hiwat

1024 

1048576 

262144 

IDN STREAM のキューの高ウォーターマークを制御します。この値はバイト単位で指定します。 

idn_lowat

1  

524288 

IDN STREAM のキューの低ウォーターマークを制御します。この値はバイト単位で指定します。 

idn_max_nets

32 

IDN ドライバ上に plumb できるネットワークチャネルまたはインタフェースの最大数を制御します。この値は一般的な単位または個数で指定します。 

idn_mbox_per_net

31 

511 

127 

各メールボックステーブル (チャネルとインタフェース、あるいはそのいずれか) のメールボックスエントリの数を制御します。この値は奇数である必要があります。この値は一般的な単位または個数で指定します。 

idn_msgwait_cfg

10 

300 

40 

CFG (構成) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 

idn_msgwait_cmd

10 

300 

40 

(通常マスタードメインへの) CMD (コマンド) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 

idn_msgwait_con

10 

300 

20 

CON (接続) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 

idn_msgwait_data

10 

300 

30 

DATA (切断) 起動呼び出しに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 

idn_msgwait_fin

10 

300 

40 

FIN (切断) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 

idn_msgwait_nego

10 

300 

20 

NEGO (ネゴシエーション) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 

idn_netsvr_spin_count

10000 

500 

チャネルサーバーが、プロセッサとの結合を放棄する前に着信パケットのポーリングを行う回数を制御します。この値は一般的な単位または回数で指定します。 

idn_netsvr_wait_max

6000 

1600 

チャネルサーバーが永久に休眠状態になる前に休眠する期間を示すクロック刻みの最大数を制御します。 

idn_netsvr_wait_min

3000 

40 

着信データパケットが見つからないときにチャネルサーバーが休眠する期間を示す最初のクロック刻みの値を制御します。この値はクロック刻みで指定します (100 パルス刻みは、1 秒に相当します)。 

idn_netsvr_wait_shift

チャネルサーバーが休眠状態から目覚めたときにパケットを見つけることができないたびに、チャネルサーバーの休眠時間を増加させる割合を示します。この値を 1 に設定すると毎回休眠時間が倍になっていきます。休眠時間は、idn_netsvr_wait_max で指定された最大値まで増加します。この値は一般的な単位または数で指定します。

idn_nwr_size

SMR 全体 

SMR 全体 

ネットワークベースの通信に使用する、SMR 内の Network Region (NWR) のサイズを制御します。この値はメガバイト単位で指定します。 

idn_pil

ソフト割り込みの優先レベルを制御します。このレベルでクロスドメイン割り込みが処理されます。この値は数値で指定します。 

idn_protocol_nservers

16 

リモート IDN メンバードメインからの IDN 接続管理メッセージの処理を任されるスレッドの数を制御します。この値は個数で指定します。 

idn_reclaim_max

128 

ドメインが、未処理の利用されていないバッファーの再利用を試みる最大の回数を制御します。この値が 0 の場合は、ドメインは、最小しきい値 (idn_reclaim_min) に達した後、できるだけ多くのバッファーの再利用を試みます。この値はバッファー単位で指定します。

idn_reclaim_min

128 

未処理 (利用されていない) バッファーのしきい値を制御します。この値を超えると、ドメインはバッファーの再利用を試みます。この値はバッファー単位で指定します。 

idn_retryfreq_con

60 

リンクしようとするドメインが CON (接続) フェーズに達したことの確認の再試行間隔の最小時間を制御します。この値は秒単位で指定します。 

idn_retryfreq_fin

60 

リンク解除しようとするドメインが FIN (切断) フェーズに達したことの確認の再試行間隔の最小時間を制御します。この値は秒単位で指定します。 

idn_retryfreq_nego

60 

IDN 接続の開始の再試行間隔の最小時間を制御します。この値は秒単位で指定します。 

idn_sigbpil

ソフト割り込みの優先レベルを制御します。このレベルで SSP の sigblock 要求が処理されます。この値は数値で指定します。 

idn_slab_bufcount

1024 

32 

スラブごとに割り当てるバッファーの数を制御します。この値はバッファー単位で指定します。 

idn_slab_mintotal

16 

マスタードメインが保持する利用可能なスラブの最小数を制御します。マスタードメインは、利用可能なスラブの総数がこの変数の値を下回ると、スレーブドメインに未使用スラブの返却を要求します。この値はスラブ単位で指定します。 

idn_slab_prealloc

10 

ドメインの IDN へのリンク時に事前に割り当てるスラブの数を制御します。この値はスラブ単位で指定します。 

idn_smr_bufsize

512 

524288 

16384 

IDN MTU サイズに変換される、SMR 入出力バッファーのサイズを制御します。この値は 2 の倍数をバイト単位で指定します。 

idn_smr_size

SMR 全体 

SMR のサイズは、OBP 変数 idn-smr-size の値によって制限されます。SMR のサイズは、idn-smr-size 変数の最小値と idn_smr_size パラメタの最小値によって決まります。idn-smr-size がゼロの場合は、OBP 変数が idn.conf(4) パラメタを上書きします。

idn_window_incr

32 

アクティブなチャネルまたはインタフェース、あるいはその両方が追加されるたびに idn_window_max が大きくなる値を制御します。この値はバッファー単位で指定します。

idn_window_max

256 

64 

未処理バッファーの基準しきい値を制御します。この値を超えると、ドメインは対応するドメインへのデータパケットの送信を停止します。この値はバッファー単位で指定します。 

一致させる必要があるパラメタ

一部の IDN パラメタは、同一 IDN 内のすべてのドメインで値を一致させる必要があります。ドメインのリンクで構成情報を交換するときに、各ドメインは、リンク操作を進める前に、受信した情報がローカルパラメタと一致するかどうかを確認します。以下に同一 IDN 内のすべてのドメインで値を一致させる必要があるパラメタの名前を示します。