マニュアルページ er_kernel.1




名前

     er_kernel - Solaris カーネルに対するアナライザの実験の生成


形式

     er_kernel args [load-command]


使用条件

     DTrace をサポートする Solaris システム


機能説明

     er_kernel コマンドは、一部 Solaris リリースで 提 供 さ れ る
     DTrace  機 能 を使用して、Solaris カーネルから実験を生成しま
     す。データは、GUI プログラムの analyzer あるいはコマンド行の
     er_print を使って見ることができます。

     er_kernel コマンドは、スーパーユーザー権限を持つユーザーのみ
     使用できます。

     負荷を与えるコマンド (load-command) が指 定 さ れ た 場 合、
     er_kernel  は フォークし、子を休止期間の長さだけ休眠させた後
     に、コマンドを実行して負荷を与えます。子 が 終 了 す る と、
     er_kernel は休止期間の長さだけ動作を継続してから終了します。
     休止期間の長さは、-q 引数で指定できます。



引数

     引数なしで呼び出された場合は、使用法のメッセージを出力 し ま
     す。

     -p option
          時間ベースのプロファイルを収集します。option には、次の
          いずれかの値を指定できます。

          値          意味

          off       時間ベースのプロファイルを無効にします。

          on        デフォルトのプロファイル間隔 (約 10 ミリ 秒 )
                    で時間ベースのプロファイルを有効にします。

          lo[w]     低分解能のプロファイル間隔 (約 100 ミリ秒) で
                    時間ベースのプロファイルを有効にします。

          hi[gh]    高分解能のプロファイル間隔 (約 1 ミリ秒) で時
                    間ベースのプロファイルを有効にします。

          n         n のプロファイル間隔で時間ベースのプロファ イ
                    ルを有効にします。

                    値は、 u (マイクロ秒) または m (ミリ秒) い ず
                    れ かの接頭辞を付けて整数か浮動小数点数を指定
                    できます。接尾辞がない場合、値はミリ秒単位 と
                    見なされます。

                    値がシステムクロックプロファイルの最小値よ り
                    小 さい場合は最小値に設定されます。クロックプ
                    ロファイルの分解能の複数倍でない場 合 は、 ク
                    ロッ クプロファイルの分解能のもっとも近い倍数
                    に切り下げられます。値がクロックプロファイ ル
                    の 最大値より大きい場合は、エラーが報告されま
                    す。負数の場合も、エラーが報告されます。ゼ ロ
                    の 場合、時間ベースのプロファイルは無効になり
                    ます。

          引数として -p off 引数が明示的に指定されていない場 合、
          時間ベースのプロファイルは有効になります。

     -T { pid/tid | 0/did }
          指定プロセス (pid) の指定スレッド (tid) に関す る プ ロ
          ファイルか、指定内部カーネルスレッド ID ((did) に関する
          プロファイル。-p が省略された場合、プロファイルが有効に
          なり、-p off が指定された場合、データは記録されません。


     -t duration
          指定の時間の間、データを収集します。duration には、1 つ
          の 数 値に続けて、分を意味する m か、秒を意味する s (デ
          フォルト) を指定するか、- 符号で区切って 2 つの数値を指
          定します。数値が 1 つ指定された場合は、実行開始からその
          時間が経過するまでデータ収集されます。2 つの数値が指 定
          された場合は、1 つ目の時間から 2 つ目の時間までデータ収
          集されます。2 つ目の時間がゼロの場合は、実行終 了 ま で
          デー タ 収集されます。ゼロ以外の 2 つの数値を指定する場
          合、最初の数値は 2 つ目の数値より小さい値にします。

     -q duration
          指定された負荷の実行の前後に duration (秒単位) の長さの
          休止期間を挿入します。デフォルトの時間は 3 秒です。負荷
          が指定されなかった場合、休止期間は無視されます。

     -S interval
          指定された間隔 (秒単位) で定期標本を収集します。 inter-
          val  がゼロの場合、定期標本は収集されません。デフォルト
          では、1 秒おきに定期標本収集が有効になります。標本に 記
          録 されるデータは、er_kernel プロセスに関するデータで、
          タイムスタンプやカーネルからの実行統計データなどが含 ま
          れ ます。標本はデータ内のマーカーで、フィルタ処理に利用
          できます。


     -C comment
          実験にコメント (単一トークンか引用符付き文字列) を挿 入
          します。最高 10 個のコメントを指定できます。

     -o experiment_name
          記録する実験の名前として、experiment_name を使 用 し ま
          す。experiment_name 文字列の最後は .er である必要があり
          ます。.er で終えていない場合は、エラーが報告され、実 験
          は実行されません。

          -o が指定されなかった場合は、stem.n.er の形式の名前が選
          択されます。stem は文字列、n は数値です。 -g 引数が指定
          された場合は、グループ名内の .erg 接尾辞の前に現れる 文
          字 列が stem 接頭辞として使用されます。 -g 引数が指定さ
          れなかった場合、stem 接頭辞には、文字列 ktest が設定 さ
          れます。

          指定された名前が stem.n.er の形式でなく、その名前が使用
          中 の場合は、エラーメッセージが出力され、実験は実行され
          ません。名前が上記の形式で、使用中の場合、実験は、使 用
          されていない n で最初に使用可能な値に対応する名前で記録
          されます。名前が変更された場合は、警告が発行されます。

     -l signal
          指定シグナルが er_kernel プロセスに供給されるたびに標本
          ポイントを記録します。

     -y signal[,r]
          signal でデータの記録を制御します。指 定 シ グ ナ ル が
          er_kernel  プロセスに供給されるたびに、一時停止 (データ
          を記録しない) と再開 (データを記録) の状態が切り替わ り
          ます。オプションの ,r フラグが指定された場合、er_kernel
          は再開状態で開始されます。それ以外の場合は、休止状態 で
          開 始されます。このオプションは、標本ポイントの記録には
          影響しません。

     -d directory_name
          directory_name ディレクトリに実験を記録します。ディレク
          ト リが指定されなかった場合は、現在の作業用ディレクトリ
          に記録されます。

     -g group_name
          実験を実験グループ group_name の実験と 見 な し ま す。
          group_name  文 字列の最後は .erg である必要があります。
          .erg で終わっていない場合は、エラーが報告され、実験は実
          行されません。

     -L size
          記録するプロファイルおよびトレースデータのサイズを size
          メ ガバイトに制限します。この制限は、すべてのプロファイ
          ルおよびトレースデータの合計に適用されるだけで、標本 ポ
          イ ントには適用されません。この限界値は概数にすぎず、こ
          の値を超えることがあります。この上限に達すると、実験 は
          終了します。size には、次のいずれかの値を指定できます。

          値          意味
          unlimited or none
                    実験のサイズ制限をしません。

          n         n MB の制限を課します。n は、ゼロより大きな整
                    数である必要があります。
          記録データ量のデフォルト限界値は、2000M バイトです。

     -A option
          実行中に使用されるカーネルモジュールを、記録されてい る
          実験にコピーするかどうかを制御します。option には、次の
          いずれかの値を指定できます。

          値          意味

          on        カーネルモジュールを実験にアーカイブします。

          off       カーネルモジュールを実験にアーカイブ し ま せ
                    ん。

          copy      カーネルモジュールを実験にコピーして、アー カ
                    イブします。

          別のマシンに実験をコピーするか、別のマシンから実験を 読
          み取る場合は、 -A copy を指定します。

          -A のデフォルトの設定は copy です。

     -n   ドライランを行います。データは収集せず、実験を実行し た
          場合の詳細情報を出力します。-v を有効にします。

     -V   バージョン情報を出力します。これ以降に指定された引数 は
          検査されず、これ以外の処理は行われません。

     -v   バージョンとともに、実行する実験に関する詳細情報を出 力
          します。


記録されるデータ

     時間プロファイル
          時間プロファイル実験は、「KCPU サイクル」というラベルの
          メ トリックを 1 つサポートします。データは CPU 別に記録
          され、CPU として CPU 番号、LWPID として、カーネルが代わ
          り に実行しているプロセスの PID、raw データ内のスレッド
          としてカーネルのスレッド ID が示されます。

          -T が 1 つ以上指定された場合は、「Kthr Time」というラベ
          ルの追加のメトリックが生成されます。「Kthr Time」は、時
          計のチックのたびに各スレッドに関するカーネルのマイク ロ
          ス テー トを記録し、CPU 以外のステート (CPU 待ちの場合)
          は、疑似関数 <SLEEPING> または <STALLED> に費やされた時
          間として示されます。



プロファイル統計

     カーネルのプロファイルが終了すると、ドライバに関する数行の統
     計データを書き込みます。ただし、この統計はまだ実装されていま
     せん。


DTrace 用のシステム設定

     通常、DTrace ドライバの使用はユーザーroot に限定されます。通
     常 のユーザー(username) として使用するには、使用できる権限を
     割り当てて貰い、かつ sys グループに所属する必要があります。

     ユーザーに権限を付与するには、/etc/user_attr に次の行を追 加
     します。
               username::::defaultpriv=basic,dtrace_kernel,dtrace_proc

     ユーザーを sys グループに登録するには、/etc/group ファイル内
     の sys の行に username を追加します。


関連項目

     dtrace(1M) (Solaris 10 以降 )、  analyzer(1)collect(1)er_archive(1)er_cp(1)er_export(1)er_mv(1)er_print(1)er_rm(1)er_src(1)、マニュアル