第12章 SystemTap
SystemTap は、ユーザーがインストルメント化、再コンパイル、インストール、および再起動を行わずに、システム全体のアクティビティーを監視できる追跡およびプロービングツールです。これはカスタムスクリプト言語でプログラミングできます。これにより、(トレース、フィルタリング、分析)、到達 (実行中のカーネルおよびアプリケーションを調べるために) 表現性を提供します。
SystemTap は、カーネルまたはアプリケーション内の関数呼び出し、タイマー、トレースポイント、パフォーマンスカウンターなど、さまざまなタイプのイベントを監視できます。一部のサンプルスクリプトは、netstat
、ps
、top
、iostat
などの出力を生成するものもあります。これには、pretty-printed function callgraph トレースや、セキュリティーバグを操作するツールが含まれます。
Red Hat Developer Toolset には SystemTap 4.1 が同梱されています。このバージョンは、以前のリリースの Red Hat Developer Toolset に含まれるバージョンよりも新しいもので、バグ修正および機能拡張が追加されています
名前 | 説明 |
---|---|
| プローブ命令を C コードに変換し、カーネルモジュールを構築して、実行中の Linux カーネルに読み込みます。 |
| SystemTap 用の Dyninst バックエンド。 |
|
|
| SystemTap のリモートシェルとして機能します。 |
| SystemTap の実行に必要なカーネル情報パッケージを判断して、可能であればダウンロードします。 |
|
CPU ファイルごとのマージ。このスクリプトは、 |
| SystemTap のバグを報告するために、システムに関する重要な情報を収集します。 |
|
|
12.1. SystemTap のインストール
Red Hat Developer Toolset SystemTap
は、devtoolset-9-systemtap パッケージで提供され、「Red Hat Developer Toolset のインストール」 の説明に従って devtoolset-9-perftools で自動的にインストールされます。
インストルメンテーションを Linux カーネルに配置するために、SystemTap ではデバッグ情報を含む追加パッケージをインストールする必要がある場合があります。インストールするパッケージを確認するには、以下のように stap-prep
ユーティリティーを実行します。
$ scl enable devtoolset-9 'stap-prep'
このコマンドを root
ユーザーとして実行すると、このユーティリティーが自動的にインストール用のパッケージを提供することに注意してください。システムにこのパッケージをインストールする方法は、Red Hat Enterprise Linux 7 SystemTap ビギナーズガイドを参照してください。