Upload
shoji-haraguchi
View
2.233
Download
2
Embed Size (px)
Citation preview
はじめての DTrace(1)“簡単なことからコツコツと”
shojih
今日の学習目標
DTrace とはどのようなもの? DTrace を使うと何が便利? 何から学習するといいだろうか?
DTrace とは?
動的トレース機能です。(Dynamic Trace)
動的って何が?
トレース(観測)のONとOFFが動的に切り替えられるのです。
通常はOFF。dtrace(1M) 実行中は ON。ON にすると。。。
稼働中のシステムで何が起きているのか観測できます
数万の備え付けの観測ポイントを利用できます
観測方法はプログラミングできますDスクリプト(Dプログラム)
しかも安全に!「事件は会議室で起きてるんじゃない!現場で起きてるんだ!」
観測はカーネルで起きててもdtrace はユーザーランドおきてます。
DTraceの仕組み
DTrace
dtrace(1M)
b.da.d
intrstat(1M)
lockstat(1M)
plockstat(1M)
libdtrace(3LIB)
..
.
..
.
dtrace(7D)
sysinfo vminfo fasttrap
profile fbt sdtsyscall
..
.
Dプログラムソースファイル
DTraceコンシューマ
DTraceプロバイダ
ユーザーランド
カーネル
でも注意も必要!システムを丸裸にしてしまうので、許された役割でのみで使用可能です。大人のツールなのです
DTrace でできることは?
計測点で、主に- のぞく/見る- 時間を計る- 回数をカウントする
DTraceで覚えたいことば(1)● プローブ
● システムの計測点● プロバイダ:モジュール:関数:名前 Provider : Module : Function : Name● dtrace - l で計測点が表示される
● プロバイダ● カーネルの中に実装済み● プローブ機構の提供
● オンオフの制御● システム計測方法のカテゴリに相当
DTraceで覚えたいことば(2)
コンシューマ● DTrace機構とやりとりするプロセス● 複数コンシューマの同時実行が可能● dtrace(1M)コマンドはコンシューマの一つ
プロバイダの種類(1)
● プロバイダの種類(1)● dtraceプロバイダ
● DTraceの初期化、後処理、エラー処理● profileプロバイダ
● 単位時間ごとのシステム状態の標本収集● syscallプロバイダ
● システムコールのentryとreturnを計測● sysinfoプロバイダ
● sysに分類されるカーネル統計情報の取得
プロバイダの種類(2)● プロバイダの種類(2)
● vminfoプロバイダ● vmに分類されるカーネル統計情報の取得
● procプロバイダ● プロセス、LWP、シグナルの計測
● schedプロバイダ● CPUスケジューリング情報の計測
● ioプロバイダ● 入出力情報の計測
DTrace を使うと何が便利?
実はDTrace を使わないとできないということはない。
proc tool や stat tool でだいだいのことはできる。
UNIX シェルプログラミングのように、知ってると何かと便利なだけ。
でも使い出すと依存症になることもあります。
さて、何から学習しましょうか?
この後はアドリブで、
次回につづく!