Skip to main content

Fujitsu

Japan

ダイナミックトレース(DTrace):Oracle Solaris 10 新機能

概要

ダイナミックトレース(以下、DTrace)は、システムにおけるパフォーマンス低下やエラー原因の解明を容易にするSolaris 10の新機能です。

今までは、パフォーマンスの低下といった一時的な障害や、エラーなどの発生原因を特定するのは容易ではありませんでした。このような場合、システム管理者の経験に基づき、試行錯誤を繰り返すことによって解決しなければなりませんでした。

例えば、パフォーマンス低下の際には、prstat(1M)などを使用して個々のプロセスの状態を調査したり、truss(1)を使用してプロセスのシステムコールをトレースしたりして原因を調査していました。

また、再現性のないエラーが発生した場合、ソフトウェアが異常終了した時点のメモリ状態をコアファイルやクラッシュダンプに保存し、mdb(1)やdbx(1)といったデバッガを使って解析していました。

いずれの場合にも、単一のプログラムの解析が中心となっていて、システムのボトルネックの原因を突き止めるのは困難でした。さらに、解析の際には業務を停止する必要がありました。

このようなシステム管理における問題点を解決するための新しいツールとして、Solaris 10ではDTraceが提供されました。DTraceにより、システム稼働中にシステムの動きを観測することができます。

特長

DTraceはユーザ領域だけではなく、システムのカーネル領域の動きも観測することができます。システム内部には約70,000もの観測ポイントを配置しています。システム管理者はDTraceによってこの観測ポイントのデータを動的に取得し、アプリケーションとシステムのボトルネックの原因を素早く突き止めることができます。DTraceではあらかじめ観測ポイントを提供しているので、デバッグ用プログラムを新たに作る必要はありません。

また、DTraceでは、有効にした観測ポイントとその関連動作だけに限定して観測を行うので、システムパフォーマンスへの影響は小さくなります。そのため、新たにテスト環境を構築して検証を行う必要がなく、稼働中のシステムを使用してシステムを分析することが可能です。

特長   利用による効果
  • システム全体の動的観測が可能
  • あらかじめ70,000もの観測ポイントを提供
  • 有効にした観測ポイントとその関連動作だけに限定して観測
  • アプリケーションとシステムのボトルネックを突き止めることが可能
  • デバッグ用プログラムが不要
  • パフォーマンスへの影響が小さいため、稼働中にシステムの分析が可能

DTraceでシステムのボトルネックを観測する

システムのパフォーマンスに影響をあたえる原因には、CPUの処理時間、メモリやI/Oのアクセス時間、プログラムミスなどがあげられます。
システム管理者は、DTraceを使用することにより、システムに配置された70,000もの観測ポイントで観測を行うことができます。この仕組みを利用することで、システムのボトルネックの原因がどこにあるのかを把握することができます。

ダイナミックトレース目次

  • 概要
  • 機能編
    ダイナミックトレースの仕組み、書式、動作例を紹介