ホストから KVM カーネルとユーザー空間をプロファイル

このモードでは、インテル® VTune™ プロファイラーは、ホスト上のシステム全体のパフォーマンス・データ・トレースとゲストシステム上の OS レベルのイベントトレースを並行して収集します。これらのトレースは、単一のインテル® VTune™ プロファイラーの結果にマージされ、以下を提供します。

この使用モードには、次のような利点があります。

ホストから KVM カーネルとユーザー空間のプロファイルを有効にするには:

  1. ホストと仮想マシンにインテル® VTune™ プロファイラーをインストールします。

    サンプリング・ドライバーをインストールする必要はありません。

  2. ホストシステムとゲストシステムの両方で、bin64 フォルダーから root 権限でスクリプトを実行します。

    $ prepare-debugfs.sh -g <user_group>

    $ echo 0 > /proc/sys/kernel/perf_event_paranoid

  3. ホストから KVM ゲストシステムへパスワードなしの SSH アクセスを設定します。
  4. ホストシステムが複数ソケットで構成される場合、インテル® VTune™ プロファイラーを起動する前に環境変数を export して時間ソースを TSC に設定します。
    VTUNE_RUNTOOL_OPTIONS=--time-source=tsc
  5. プロジェクトを作成します
  6. [解析の設定] ウィンドウの [何を] ペインで、[高度] セクションを展開して、[カスタムコレクター] フィールドに次の文字列を入力します。
    python <vtune_install_dir>/bin64/kvm-custom-collector.py --kvm-ssh-login=<username>@<kvm_ssh_ip> --vtune-dir-on-kvm=<vtune-install-dir>

    特定のオプションの詳細は、kvm-custom-collector.py スクリプトのヘルプを参照してください。

  7. ゲストのカーネル空間からデータを収集するには、[KVM ゲスト OS を解析] オプションを選択します。

    仮想マシンからホストに /proc/kallsyms と /proc/modules ファイルをコピーします。

    これらは疑似ファイルであるため、その内容を通常のファイルに cat してからホストにコピーすることを推奨します。プロジェクトのプロパティーで、コピーしたファイルへのパスを指定します。

  8. [どのように] ペインで、ハードウェア・イベントベースのサンプリング解析 (アーキテクチャー全般など) を選択して、ホストから解析を実行します。

VM コンポーネントを含む、すべてのグループ化レベルで収集されたデータを調査して、ホストとターゲットデータの違いを特定します。

例 1: ホットスポット解析 (ハードウェア・イベントベース・サンプリング・モード)

Linux* ホストから起動されたアプリケーション app-from-host と、KVM ゲストシステムで起動されたアプリケーション app-in-vm の両方のホットスポットを解析します。

例 2: マイクロアーキテクチャー全般解析

KVM ゲストシステムで起動されたアプリケーションのマイクロアーキテクチャー利用率を解析します。右ペインのコンテキスト・サマリーには、グリッドで選択されたスレッド (KVM で起動された) のハードウェア・メトリックが表示されます。

システム要件と制限

関連情報