Go to main content

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

印刷ビューの終了

更新: 2022年7月27日
 
 

ttrace(8)

名前

ttrace - ハイパーバイザーレイヤーからのトラップトレースの管理

形式

ttrace config 
ttrace config  -K 
ttrace config  -K [-b bufsz [k | m] ] 
ttrace enable  -K [-v verbose] 
ttrace enable  -K [-v verbose] [-p processor_id ...] 
ttrace disable -K 
ttrace disable -K [-p processor_id ...] 
ttrace suspend -K 
ttrace resume  -K 
ttrace dump    -K 
ttrace dump    -K [-t] [-o output] [-p processor_id ...]
ttrace config  -H 
ttrace config  -H [-b bufsz [k | m] ] 
ttrace enable  -H 
ttrace enable  -H [-p processor_id ...] 
ttrace disable -H 
ttrace disable -H [-p processor_id ...] 
ttrace suspend -H 
ttrace resume  -H 
ttrace dump    -H 
ttrace dump    -H [-t] [-o output] [-p processor_id ...]

説明

ttrace ユーティリティーは、ハイパーバイザおよびカーネルレベルのトラップトレースを管理するために使用されます。特権ユーザーは、オンデマンドで動的にトレースを有効および無効にし、必要に応じてトレースを構成できます。

引数を付けない ttrace は使用方法の情報を表示します。

オプション

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

–K

Oracle Solaris カーネルトラップトレースにコマンドを適用します。

–H

sun4v プラットフォーム上のハイパーバイザートラップトレースにコマンドを適用します。

オプション –K–H を 1 つのコマンドで一緒に使用することはできません。

–b bufsz [k | m]

システムのすべての CPU にトレースバッファーサイズ bufsz を設定します。バッファーサイズ bufsz には接尾辞 k または m を含めることができます。デフォルトで bufsz2 * PAGESIZE です。目的のサイズのバッファーが割り当てられると、新しいバッファーが古いバッファーに置き換わり、トラップトレースの再構成も行われます。HV トレースバッファーの上限のサイズは 16M です。カーネルトラップトレースの場合、バッファー上限は sun4v で 16M ですが、OPL では 4M です。

ただし、メモリー不足のため、現時点で目的のバッファーを割り当てることができない場合、ttrace は以前に割り当てられたバッファーを使用し続けます。その結果、特定の CPU の実際の bufsz はグローバルな bufsz と異なる可能性があります。

トラップトレースの再構成は負荷が大きいため、このオプションを本番マシンであまり頻繁に使用することはお勧めしません。

–p processor_id processor_id...

アクションが適用される CPU を一覧表示します。このオプションを受け入れることができるサブコマンドは enabledisable、および dump です。

–o output

トレースレコードのダンプ時の出力ファイルを設定します。このオプションを省略した場合、デフォルトの出力は stdout です。

–t

タイムスタンプの順序で、すべての CPU にわたるトレースレコードを移動します。このオプションを省略した場合、最初に CPU 別でトレースレコードを移動します。

–v

トレースが有効にされている場合に、カーネルトラップトレースの詳細レベルを指定します。レベルは 1 - 7 の数値です。デフォルトのレベルは 7 です。

サブコマンド

サポートされているサブコマンドは次のとおりです。

enable

CPU のリストでトラップトレースを有効にします。–p オプションによって CPU を指定しない場合、すべての CPU でトレースが有効になります。

disable

CPU のリストでトラップトレースを無効にします。–p オプションによって CPU を指定しない場合、すべてのトレースが無効になります。

suspend

すべての CPU でトラップトレースを中断します。トレースが無効にされている CPU を中断できます。再開されても、まだ無効のままになります。サブコマンド suspend および resume は、サブコマンド disable および enable より少ないオーバーヘッドを生成します。すべての CPU に関するトレースを一時的に停止する場合は、suspend および resume サブコマンドを使用するようにしてください。

resume

すべての CPU に関するトレースを suspend の前のステータスに復元します。suspend および resume サブコマンドは、すべての CPU に対して動作します。

config

オプションなしで、すべての CPU のトラップトレースのステータスを表示します。–b bufsz オプションとともに指定された場合、トレースバッファーサイズは指定された bufsz に設定され、トラップトレースが再構成されます。

dump

トレースレコードをダンプします。オプションを付けない場合、端末にすべてのトレースレコードが表示されます。出力ファイルと CPU のリストを指定すると、これらの CPU からのトレースのみが指定した出力ファイルにダンプ出力されます。

出力の形式は、将来変更される場合があります。

トラップトレースステータス

CPU は次のトラップトレースステータスをサポートしています。

Ready

トレースバッファーが割り当てられているため、トレースは有効になる準備ができています。

Config

トレースバッファーが割り当てられ、構成されていますが、有効になっていません。そのため、トレースを有効にする準備ができています。

Enabled

トラップトレースが有効にされているため、トレースバッファーの内容が CPU のトラップアクティビティーによって更新されます。

Disabled

トラップトレースが無効にされています。そのため、トレースバッファーの内容は再度有効にされるまで、更新されません。ステータス Disabled と Enabled の間で発生したトラップアクティビティーはトレースバッファーに反映されません。

Suspended

すべての CPU でトレースが中断されています。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

1

エラーが発生しました。

使用例 1 各 CPU の現在のトラップトレースステータスとそのバッファーサイズの表示

次の例に、引数のない config サブコマンドで、各 CPU の現在のカーネルおよびハイパーバイザートラップトレースステータスとバッファーサイズがどのように表示されるかを示します。–K または –H オプションを指定した場合、対応するオブジェクトのステータスのみが表示されます。

# ttrace config -K 
Kernel trap trace status : 
CPU     Trace-Status      buffer             size           verbose 
0       Enabled           0x10046410         16320          7 
1       Enabled           0x410b4000         16320          7 
2       Enabled           0x410bc000         16320          1 
3       Enabled           0x410c4000         16320          1

# ttrace config -H
HV trap trace status :
CPU     Trace-Status      buffer             size
0       Ready             0x22e70000         32768
1       Ready             0x22950000         32768
2       Ready             0x22958000         32768
3       Ready             0x22960000         32768
使用例 2 トレースバッファーサイズの設定

次の例に、–b <bufsz オプションで config サブコマンドを使用し、結果としてトレース再構成が発生することによって、トレースバッファーサイズを設定する方法を示します。

# ttrace config -K -b 128k 
kernel ttrace buffer size has been set to 131072 

# ttrace config -K 
kernel trap trace status : 
CPU     Trace-Status      buffer             size           verbose 
0       Ready             0x3e680000         131072         - 
1       Ready             0x3e6a0000         131072         - 
2       Ready             0x3e6c0000         131072         - 
3       Ready             0x3e6e0000         131072         - 
  
# ttrace config -H -b 64k 
HV ttrace buffer size has been set to 65536 
  
# ttrace config -H 
HV trap trace status : 
CPU     Trace-Status      buffer             size 
0       Suspended         0x22e70000         65536 
1       Suspended         0x22950000         65536 
2       Suspended         0x22958000         65536 
3       Suspended         0x22960000         65536 
使用例 3 すべての CPU でのトレースの有効化

次の例では、enable サブコマンドを使用して、すべての CPU でトレースを有効にする方法を示しています。

# ttrace enable -K 
# ttrace config -K 
kernel trap trace status : 
CPU     Trace-Status      buffer             size           verbose 
0       Enabled           0x3e680000         131072         7 
1       Enabled           0x3e6a0000         131072         7 
2       Enabled           0x3e6c0000         131072         7 
3       Enabled           0x3e6e0000         131072         7

# ttrace enable -H
# ttrace config -H
CPU     Trace-Status      buffer             size 
0       Enabled           0x22d30000         65536
1       Enabled           0x22d40000         65536
2       Enabled           0x22e70000         65536
3       Enabled           0x22950000         65536

オプション –p の後に CPU のリストを付けたサブコマンド enable は、現在無効にされている場合にのみ CPU のリストでトレースを有効にします。

使用例 4 すべての CPU でのトレースの無効化

次の例では、–p オプションを付けないで disable サブコマンドを使用して、すべての CPU でトレースを無効にする方法を示しています。–p オプションを指定した場合、CPU のリストでのトレースのみが無効になります。

# ttrace disable -K -p 0 1 
# ttrace config -K 
kernel trap trace status : 
CPU     Trace-Status      buffer             size           verbose 
0       Disabled          0x3e680000         131072         - 
1       Disabled          0x3e6a0000         131072         - 
2       Enabled           0x3e6c0000         131072         7 
3       Enabled           0x3e6e0000         131072         7

# ttrace disable -H -p 2 3
# ttrace config -H
CPU     Trace-Status       buffer             size 
0       Enabled            0x22d30000         65536
1       Enabled            0x22d40000         65536
2       Disabled           0x22e70000         65536
3       Disabled           0x22950000         65536

使用例 5 すべての CPU でのトラップトレースの中断と再開

次の例では、すべての CPU でトラップトレースを中断して再開する方法を示しています。suspend サブコマンドはすべての CPU 上のトラップトレースを中断します。トレースが無効にされている CPU を中断できます。それらが再開される場合、中断される前のステータスで再開されます。サブコマンド suspend および resume はサブコマンド disable および enable より効率的です。

# ttrace suspend -K 
# ttrace suspend -H 
  
# ttrace resume -K 
# ttrace resume -H
使用例 6 トレースレコードの表示

次の例では、トレースレコードの表示方法を示しています。引数を付けない場合、端末にすべてのトレースレコードが表示されます。–o オプションのあとに出力ファイルを付けて指定すると、レコードが出力ファイルに保存されます。–p オプションのあとに CPU のリストを指定した場合、これらの CPU からのレコードのみが保存されます。

# ttrace dump -K -o ktrace.out -p 0 1 
# ttrace dump -H -o htrace.out -p 2 3

–t オプションを付けると、CPU 別ではなく、タイムスタンプの順序で CPU 全体のトレースレコードが保存されます。

# ttrace dump -K -t -o kalltrace.out 
# ttrace dump -H -t -o halltrace.out

トレースデータを取得する代替方法は mdb(1) を使用することです。

<cpuid>::ttrace 
<cpuid>::httrace

属性

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

属性タイプ
属性値
使用条件
system/kernel/ttrace
インタフェースの安定性
確実

関連項目

attributes(7)