26.7. SystemTap のクロスインストルメンテーションの初期化


SystemTap のクロスインストルメンテーションを初期化して、あるシステム上で SystemTap スクリプトから SystemTap インストルメンテーションモジュールをビルドし、SystemTap が完全にデプロイされていない別のシステムでこのモジュールを使用します。

前提条件

  • SystemTap のインストール で説明されているように、SystemTap がホストシステムにインストールされている。
  • systemtap-runtime パッケージが各ターゲットシステムにインストールされている。

    # dnf install systemtap-runtime
  • ホストシステムとターゲットシステムが両方とも同じアーキテクチャーである。
  • ホストシステムとターゲットシステムの両方で、同じメジャーバージョンの Red Hat Enterprise Linux (Red Hat Enterprise Linux 10 など) が実行されている。

    重要

    カーネルパッケージのバグにより、複数の kernel-debuginfo パッケージと kernel-devel パッケージを 1 つのシステムにインストールできない場合があります。このような場合、ホストシステムとターゲットシステムのマイナーバージョンが同じである必要があります。バグが発生した場合は、Red Hat JIRA でバグを報告してください。

手順

  1. 各ターゲットシステムで実行されているカーネルを特定します。

    $ uname -r
  2. ターゲット システムに対して上記のステップを繰り返します。
  3. Systemtap のインストール で説明されている方法に従って、ホストシステムで各ターゲットシステムのターゲットカーネルと関連パッケージをインストールします。
  4. ホストシステムでインストルメンテーションモジュールをビルドし、このモジュールをターゲットシステムにコピーして、次のいずれかの方法でこのモジュールを実行します。

    1. ホストシステムからターゲットシステムへの SSH 接続が可能な場合は、リモート実装を使用します。

      # stap --remote <target_system> script

      これを正常に実行するには、ホストシステムからターゲットシステムへの SSH 接続が確立できることを確認する必要があります。

    2. 手動:

      1. ホストシステムでインストルメンテーションモジュールをビルドします。

        # stap -r <kernel_version> script -m <module_name> -p 4

        <kernel_version> はステップ 1 で特定したターゲットカーネルのバージョン、script はインストルメンテーションモジュールに変換するスクリプト、<module_name> はインストルメンテーションモジュールの任意の名前です。-p4 オプションは、SystemTap にコンパイルしたモジュールを読み込まないように指示します。

      2. インストルメンテーションモジュールをコンパイルしたら、それをターゲットシステムにコピーし、次のコマンドを使用してロードします。

        # staprun <module_name>.ko
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る