検索

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

download PDF

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

前提条件

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

    # yum install systemtap-runtime
  • ホストシステムターゲットシステム の両方のアーキテクチャーが同じである。
  • ホストシステムターゲットシステム の両方が Red Hat Enterprise Linux (例: Red Hat Enterprise Linux 8) の同じバージョンをしている。ただし、異なるマイナーバージョンを使用することは 可能です (例: 8.1 および 8.2)。
重要

カーネルパッケージのバグが原因で複数の kernel-debuginfokernel-devel パッケージがシステムにインストールできない場合があります。このような場合は、ホストシステムターゲットシステム のマイナーバージョンが同じでなければなりません。バグが発生した場合は、https://bugzilla.redhat.com/ で報告してください。

手順

  1. ターゲットシステム で実行しているカーネルを確認します。

    $ uname -r

    ターゲットシステム ごとにこの手順を繰り返します。

  2. Systemtap のインストール で説明されている方法に従って、ホストシステム で各 ターゲットシステムターゲットカーネル と関連パッケージをインストールします。
  3. ホストシステム でインストルメンテーションモジュールを構築し、このモジュールをコピーして ターゲットシステム でこのモジュールを実行します。

    1. リモート実装の使用

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

© 2024 Red Hat, Inc.