40.2. SystemTap のインストール
SystemTap の使用を開始するには、必要なパッケージをインストールします。システムに複数のカーネルがインストールされている複数のカーネルで SystemTap を使用するには、カーネルバージョン ごと に必要な対応カーネルパッケージをインストールします。
前提条件
- デバッグリポジトリーおよびソースリポジトリーの有効化 で説明されているように、デバッグリポジトリーを有効にしている。
手順
必要な SystemTap パッケージをインストールします。
dnf install systemtap
# dnf install systemtap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なカーネルパッケージをインストールします。
stap-prep
の使用:stap-prep
# stap-prep
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stap-prep
が機能しない場合は、必要なカーネルパッケージを手動でインストールします。dnf install kernel-debuginfo-$(uname -r) kernel-debuginfo-common-$(uname -i)-$(uname -r) kernel-devel-$(uname -r)
# dnf install kernel-debuginfo-$(uname -r) kernel-debuginfo-common-$(uname -i)-$(uname -r) kernel-devel-$(uname -r)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow $(uname -i)
は、システムのハードウェアプラットフォームに自動的に置き換えられ、$(uname -r)
は、実行中のカーネルのバージョンに自動的に置き換えられます。
検証
SystemTap でプローブするカーネルが現在使用中である場合 n には、インストールが成功したかどうかを確認します。
stap -v -e 'probe kernel.function("vfs_read") {printf("read performed\n"); exit()}'
# stap -v -e 'probe kernel.function("vfs_read") {printf("read performed\n"); exit()}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SystemTap デプロイメントに成功すると、以下のような出力が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力の最後の 3 行 (
Pass 5
で開始) は、以下のようになります。