Solaris 10 の概要

DTrace 動的トレース機能

DTrace は Solaris 10 OS の非常に重要な機能です。DTrace は、Solaris Express 11/03 の新機能で、Solaris Express 5/04 と Solaris Express 11/04 で拡張されました。

DTrace は、Solaris のユーザー、管理者、および開発者がカーネルおよびユーザープロセスを監視するための、包括的な新しい動的トレース機能です。

DTrace は、システムの理解を支援する機能で、オペレーティングシステムのカーネルおよびユーザープロセスを動的に分析し、プローブと呼ばれる分析する場所でデータを記録することができます。プローブは、Solaris システムのさまざまな場所に設定された、プログラム可能な小さいセンサーのようなものです。このリリースでは、30,000 を超えるプローブが組み込まれています。それぞれのプローブは、新しい D プログラム言語で記述されたカスタムプログラムに関連付けられます。プローブとプログラムを関連付けることにより、ANSI C の型と表現を使用してシステムデータにアクセスできるほか、スタックトレースの取得、時刻印の記録、柱状グラフの作成なども簡単に行うことができます。

DTrace のすべての計測は完全に動的であり、実稼働システムで使用可能です。DTrace が無効のとき、パフォーマンスへの影響はありません。トレースを行なっても、パフォーマンスへの影響は、有効にしたプローブと動作だけに限定されます。さらに、DTrace は次の点で安全です。 DTrace はその設計の中核にセキュリティー、完全な安全性、およびエラー検査を置いているため、稼働中のシステムに損傷を与えることがありません。これらの機能により、問題の調査に役立つ機能が必要なときはいつでも、稼働中のシステムで安心して DTrace を使用できます。

DTrace の詳細については、『Solaris 動的トレースガイド』と、dtrace(1M) などのマニュアルページに記載されています。このガイドには、DTrace の機能について詳細な説明と例が記載されており、入門書として役立ちます。また、BigAdmin の DTrace フォーラム (http://www.sun.com/bigadmin/content/dtrace) に参加すると、DTrace についてさらに調べたり、プログラム例をダウンロードしたり、質問したりすることもできます。

Solaris Express 5/04 では、x86 システム上で、pid プロバイダを使用するユーザープロセストレースが利用できるようになりました。この機能は、DTrace が Solaris Express 11/03 で導入されたあと、SPARC プラットフォームでは利用できるようになっていました。

pid プロバイダにより、あらゆるプロセスの命令をすべてトレースできます。任意の関数呼び出しの入出のほか、任意の関数の任意のオフセットでトレースすることもできます。詳細は、『Solaris 動的トレースガイド』の第 27 章「pid プロバイダ」および第 32 章「ユーザープロセスのトレース」を参照してください。

Solaris Express 11/04 リリースでは、plockstat(1M) ユーティリティーを使って、カーネルの lockstat(1M) など、ユーザーレベルの同期プリミティブを監視できるようになりました。DTrace の plockstat プロバイダは、plockstat(1M) の計測方法の基盤になっています。DTrace の plockstat を使って、plockstat ユーティリティーで記録するデータの量を増やすことができます。詳細は、plockstat(1M) のマニュアルページを参照してください。