初めての(?) DTrace (その 3)

前回は D スクリプトの基本形であるプローブ節について説明を始めたところでしたが、よくプレゼンテーションやデモで行う一番簡単な dtrace コマンドの使い方についての紹介を忘れていました。

まず、管理系コマンドでよくある、root でコマンド叩くのは怖いけど、今の状態を表示させるだけならひとまず試してみよう、という dtrace コマンドです。

dtrace -l

l は小文字の L で、list のエルです。これによって現在のシステムにあるプローブが表示されます。プローブは「プロバイダ、モジュール、関数、名前」の 4 つ組で表示されます。

よくプレゼンテーションなどで、「小さいシステムでも 3 万以上のプローブがある」と紹介しますが、本当かなと思ったときには

dtrace -l | wc -l

として行数を wc コマンドに数えさせることができます。現在登録されているプローブはここで表示されるだけですが、ユーザーが登録して増やすプローブや、pid プロバイダによる、あるプロセスを起動させることによって動的に追加されるプローブもあります。

あまりにたくさんのプローブがあり、プロバイダごとに表示を絞りたい場合は、

dtrace -l -P <プロバイダ>

です。

D スクリプトをあらかじめファイルに保存しておき、それを実行する場合には

dtrace -s <ファイル名>

となります。スクリプトファイルの先頭に

#!/usr/sbin/dtrace -s

と書いておき、ファイルの実行パーミッションを許可にする方法もよく使います。

1 liner (ワン・ライナー) と呼ばれる、コマンドラインでそのままスクリプトを入力する方法があります。

dtrace -n 'スクリプト'

スクリプトで指示していること以外も DTrace がいくらか表示を行うのですが、それを抑制したい場合は -q オプションで dtrace コマンドを実行します。スクリプトファイルの先頭に

#!/usr/sbin/dtrace -qs

のように書いてあるのを今後よく見ることになるかと思います。

ざっと挙げただけでも結構あるものです。さすがにこれだけだとわかりにくいかと思いますので、次回はもう少しこれらの具体例を見ていこうと思います。

投稿されたコメント:

コメント
  • HTML文法 不許可
About

user13138578

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日