Solaris 動的トレースガイド

第 16 章 オプションとチューニング可能パラメータ

DTrace では、将来的なカスタマイズを見込んで、コンシューマにかなりのレベルの柔軟性が与えられています。DTrace 自体も、特別なチューニングがなるべく必要ないように、妥当なデフォルト値と柔軟なポリシーの下に実装されています。それでも、コンシューマ単位で DTrace の動作をチューニングしなければならない場合があります。この章では、DTrace のオプション、チューニング可能パラメータ、およびこれらを変更するためのインタフェースについて説明します。

コンシューマオプション

DTrace のチューニングが必要なときは、オプションを設定したり有効にしたりします。以下の表に、使用可能なオプションを示します。一部のオプションには、対応する dtrace(1M) コマンド行オプションがあります。

表 16–1 DTrace コンシューマオプション

オプション名 

値 

dtrace(1M) での別名

説明 

参照先 

aggrate

time

 

集積体の読み取りレート 

第 9 章集積体

aggsize

size

 

集積体バッファーサイズ 

第 9 章集積体

bufresize

auto または manual

 

バッファーのサイズ変更ポリシー 

第 11 章バッファーとバッファリング

bufsize

size

-b

主バッファーサイズ 

第 11 章バッファーとバッファリング

cleanrate

time

 

クリーンアップレート。hz 接尾辞を付けて 1 秒あたりの回数で指定する必要があります。

第 13 章投機トレース

cpu

スカラー

-c

トレースを有効にする CPU 

第 11 章バッファーとバッファリング

defaultargs

— 

 

未知のマクロ引数の参照を許可する 

第 15 章スクリプトの作成

destructive

— 

-w

破壊アクションを許可する 

第 10 章アクションとサブルーチン

dynvarsize

size

 

動的変数空間のサイズ 

第 3 章変数

flowindent

— 

-F

関数の開始 (entry) をインデントし、その前に -> を付ける。関数の終了 (return) のインデントを解除し、その前に <- を付ける

第 14 章dtrace(1M) ユーティリティー

grabanon

— 

-a

匿名状態を要求する 

第 36 章匿名トレース

jstackframes

スカラー

 

jstack() のデフォルトスタックフレームの数

第 10 章アクションとサブルーチン

jstackstrsize

スカラー

 

jstack() の文字列空間のデフォルトサイズ

第 10 章アクションとサブルーチン

nspec

スカラー

 

投機の数 

第 13 章投機トレース

quiet

— 

-q

明示的にトレースされたデータだけを出力する 

第 14 章dtrace(1M) ユーティリティー

specsize

size

 

投機バッファーサイズ 

第 13 章投機トレース

strsize

size

 

文字列サイズ 

第 6 章文字列

stackframes

スカラー

 

スタックフレームの数 

第 10 章アクションとサブルーチン

stackindent

スカラー

 

stack() ustack() の出力をインデントするときに使用する空白文字の数

第 10 章アクションとサブルーチン

statusrate

time

 

状態チェックレート 

 

switchrate

time

 

バッファー切り替えレート 

第 11 章バッファーとバッファリング

ustackframes

スカラー

 

ユーザースタックフレームの数 

第 10 章アクションとサブルーチン

サイズを表す値には、k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) のいずれかの接尾辞を付けることができます。時間を表す値には、ns (ナノ秒)、us (マイクロ秒)、ms (ミリ秒)、s (秒)、hz (秒当たりの回数) のいずれかの接尾辞を付けることができます。

オプションの変更

D スクリプト内にオプションを設定するときは、#pragma D、文字列 option、オプション名を順に指定します。値をとるオプションの場合は、オプション名とオプション値を等号 (=) で結びます。以下に、有効なオプション設定の例を示します。

#pragma D option nspec=4
#pragma D option grabanon
#pragma D option bufsize=2g
#pragma D option switchrate=10hz
#pragma D option aggrate=100us
#pragma D option bufresize=manual

dtrace(1M) コマンドでは、-x オプションの引数として、コマンド行でオプションを設定することもできます。次に例を示します。


# dtrace -x nspec=4 -x grabanon -x bufsize=2g \
    -x switchrate=10hz -x aggrate=100us -x bufresize=manual

無効なオプションを指定すると、dtrace は、オプション名が無効であるというメッセージを表示して終了します。


# dtrace -x wombats=25
dtrace: failed to set option -x wombats: Invalid option name
#

同様に、オプションに無効な値を指定すると、dtrace は値が無効であるというメッセージを表示します。


# dtrace -x bufsize=100wombats
dtrace: failed to set option -x bufsize: Invalid value for specified option
#

同じオプションを繰り返し指定した場合、先に指定されたオプションは、あとから指定されたオプションで上書きされます。grabanon など、一部のオプションは設定することだけが可能です。こうしたオプションを設定した場合、あとで設定を解除することはできません。

匿名状態を要求する DTrace コンシューマは、匿名を有効化するためのオプションを使用できます。匿名トレースの有効化については、第 36 章匿名トレースを参照してください。