SPONSORED

SystemTap(しすてむたっぷ)

最終更新:2026/4/27

SystemTapは、実行中のLinuxカーネルやユーザー空間アプリケーションを動的に調査するためのスクリプト言語およびツールである。

別名・同義語 動的トレースカーネル調査

ポイント

SystemTapは、カーネルの内部動作を非侵襲的に分析し、パフォーマンスボトルネックの特定やデバッグに役立つ。特別なコンパイルや再起動を必要としない。

SystemTapとは

SystemTapは、Linuxシステムにおける動的トレースツールであり、カーネルやユーザー空間アプリケーションの動作をリアルタイムで調査分析することを可能にします。従来のデバッガとは異なり、SystemTapは実行中のシステムに影響を与えることなく、詳細な情報を収集できます。

歴史

SystemTapは、Red HatのエンジニアであるFrank E. Tietzeによって開発が開始され、2005年に初めて公開されました。当初はRed Hat Enterprise Linuxに特化したツールでしたが、その後、他のLinuxディストリビューションでも利用できるようになりました。

仕組み

SystemTapは、SystemTapスクリプトと呼ばれる特殊なスクリプト言語を使用して、調査対象のイベントやデータを指定します。スクリプトは、カーネルのkprobesやユーザー空間アプリケーションのuprobesと呼ばれるメカニズムを使用して、特定の場所に挿入されます。これらのプローブは、指定されたイベントが発生するたびに実行され、収集されたデータはSystemTapによって分析されます。

用途

SystemTapは、以下のような用途に利用できます。

  • パフォーマンス分析: CPU使用率、メモリ使用量、ディスクI/Oなどのパフォーマンス指標を監視し、ボトルネックを特定します。
  • デバッグ: カーネルやアプリケーションのバグを特定し、修正します。
  • システム監視: システムの動作を監視し、異常な動作を検出します。
  • セキュリティ監査: システムのセキュリティ脆弱性を特定し、対を講じます。

SystemTapスクリプトの例

以下は、SystemTapスクリプトの簡単な例です。

probe begin {
  printf("Hello, SystemTap!");
}

このスクリプトは、SystemTapの実行開始時に「Hello, SystemTap!」というメッセージを出力します。

関連ツール

SystemTapと関連するツールとしては、以下のようなものがあります。

  • perf: Linuxカーネルに組み込まれたパフォーマンス分析ツール。
  • strace: システムコールをトレースするツール。
  • ltrace: ライブラリコールをトレースするツール。

SPONSORED