地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

カーネルトレースツールの雑メモ

perf、ftrace、SystemTap、kprobe、uprobe、DTraceあたりについてのメモ

perf: Linuxカーネルに組み込まれているパフォーマンス解析ツールです。CPUサイクル、命令カウント、キャッシュミスなど、様々なハードウェアレベルのイベントを測定することができます。また、ソフトウェアイベントのトレースやプロファイリングにも使用されます。

ftrace: これもLinuxカーネルの一部で、主にカーネル関数のトレーシングに使われます。ftraceは非常に低いオーバーヘッドで動作し、リアルタイムのシステム分析に適しています。カーネル開発者やシステム管理者がカーネルの動作を理解するのに役立ちます。

SystemTap: SystemTapLinuxシステムで動作する高度なトレーシングおよびプロファイリングツールです。これを使用すると、実行中のカーネルやアプリケーションに対して複雑なクエリを実行し、システムの動作を詳細に分析できます。

kprobe: kprobeはLinuxカーネルの動的トレーシング機能の一部で、任意のカーネル関数のエントリまたはリターンポイントにプローブ(監視点)を設置できます。これにより、関数の実行時に特定のアクションを実行することができます。

uprobe: uprobeはユーザースペースのバイナリに対してプローブを設置するためのメカニズムです。これにより、アプリケーションコードの特定の場所でイベントをトリガーし、その動作を観察できます。

DTrace: オリジナルはSolarisオペレーティングシステム用に開発されましたが、現在では他の多くのシステムでも利用可能です。DTraceは非常に強力な動的トレーシングツールで、システムのリアルタイム分析に使われます。カーネルからアプリケーションレベルまで、広範なトレーシングとプロファイリングが可能です。