プラットフォーム全体のシステムの概要解析により、ターゲットシステムの一般的な動作を監視し、パフォーマンスを制限するプラットフォーム・レベルの要因を特定します。
システムの概要解析は、次のプロファイル・モードをサポートします。
ハードウェア・イベントベース・サンプリングは、コードが CPU、GPU、DRAM、I/O、および PCIe* をどのくらい効率良く利用しているかを特定する開始点の解析として機能します。
ハードウェア・トレース (Linux* と Android* ターゲット) は、コードをマイクロ秒レベルで解析し、レイテンシー問題の原因を特定するのに役立ちます。
また、システムの概要解析を使用して、ソケットおよび DRAM モジュールごとの電力使用量の内訳と、システムの電力使用量データを取得することもできます。
このモードでは、CPU、GPU、および I/O リソース全体の利用率を把握し、次のステップへの推奨事項を確認できます。これは、システムのパフォーマンスの問題を切り分ける入門者向けの解析モードです。
Linux* ターゲットでは、システムの概要解析は Ftrace イベント (sched、freq、idle、workq、irq、softirq) を収集します。
Android* ターゲットでは、システムの概要解析は次のイベントを収集します。
Atrace イベント: input、view、webview、audio、video、camera、hal、res、dalvik
Ftrace イベント: sched、freq、idle、workq、filesystem、irq、softirq、sync、disk
このモードでは、CPU コアのアクティビティーをマイクロ秒単位で取得し異常な動作を検出します。
必要条件:
このモードでシステム全体の解析を有効にするには、/proc/sys/kernel/perf_event_paranoid の値を 0 以下にすることを検討してください。
カーネルモジュールとシンボル名を見るには、/proc/sys/kernel/kptr_restrict を 0 に設定します。
ターゲットとホストシステムの両方に十分なディスクスペースがあることを確認してください。CPU のコア数が多いと、収集されるデータは 1 秒間に 1GB バイトにも達することがあります。
カーネルのバージョンが 4.3 以降であることを確認してください。
このモードは、インテル® マイクロアーキテクチャー・コード名 Skylake ベース以降のプラットフォームで利用できます。
ハードウェア・トレース・モードでは、次のことができます。
ユーザー/カーネルモードの移行と割り込みを解析
予期しないプロセスやシステムサービスの実行を調査
静的インストルメントなしでワークロードを実行する特定のステージを測定
マイクロ秒単位で CPU コアのアクティビティーを解析
ナノ秒精度でカーネル/ドライバーまたはアプリケーションの実際の CPU 時間を解析
最初に取り組むべきレイテンシーの問題は次の原因で発生します。
実行コードフローの変更
他のプロセスのプリエンプション
リソース共有の問題
ページフォールト
予期しないウェイクアップによる電力消費の問題
この解析ではハードウェアに直接アクセスする必要があります。ゲスト VM 内部では動作しません。
ほとんどの場合、このモードでの収集のオーバーヘッドは 10% 未満です。IO や DRAM に依存するアプリケーションではこれより高くなることがあります。
ハードウェア・トレース・モードはサンプリング・ドライバーを必要としません。
次のようにシステムの概要解析のオプションを設定します。
必要条件: プロジェクトを作成します。
インテル® VTune™ プロファイラー・ツールバーの [解析の設定] ボタンをクリックします。
[解析の設定] ウィンドウが表示されます。
[どのように] ペインで、 [実行する解析タイプを選択] ボタンをクリックして、[システムの概要] を選択します。
[ハードウェア・トレース] または [ハードウェア・イベントベース・サンプリング] モードを選択します。
[ハードウェア・トレース] モードでは、 [割り込みを解析] オプションを有効にできます。
デフォルトの [ハードウェア・トレース] 設定では、インテル® VTune™ プロファイラーは 1GB の上限に達するとデータの収集を停止します。この制限は、[何を] ペインの [高度] セクションで変更できます。
[開始] ボタンをクリックして解析を実行します。
インテル® VTune™ プロファイラーはデータを収集し、rxxxso 結果を作成して、デフォルトのシステムの概要ビューポイントに表示します。
コマンドラインからこの解析を実行するには、下部にある コマンドライン・ボタンを使用します。
[システムの概要] 解析の [電力使用量を解析] オプションを有効にして、システムの電力特性を把握することができます。
電力使用データを収集するには、[解析の設定] ウィンドウの [どのように] ペインにある [電力使用量を解析] チェックボックスをオンにします。その後、解析を実行します。
データ収集が完了したら、[サマリー] ウィンドウの [電力消費] セクションをご覧ください。
このセクションでは、データ収集時のシステムの合計消費電力と、CPU パッケージおよび DRAM モジュールごとの内訳を示します。
[プラットフォーム] ウィンドウに切り替えると、消費電力を時系列で見ることができます。DRAM 帯域幅、CPU 周波数、CPU 利用率など各種メトリクスと、各デバイスが消費する電力量を関連付けます。
タイムライン上では、デバイスの電力は mJ (ミリジュール)/秒で表示されますが、これはミリワットに相当します。
CPU が温度制限の範囲外の温度で動作している場合、システムが安定した動作のため CPU 周波数を低下させることがあります。CPU の安全な動作温度を回復するため周波数を低下させると、パフォーマンスが大幅に低下することがあります。システム概要解析を実行し、CPU のスロットリングの原因を特定します。
[解析の設定] ウィンドウの [どのように] ペインで、[スロットリングの原因を解析] チェックボックスをオンにします。その後、解析を実行します。
データ収集が完了したら、[サマリー] ウィンドウの [CPU スロットリングの原因] セクションをご覧ください。
[プラットフォーム] ウィンドウに切り替えると、スロットリング・イベントの原因別の内訳が表示されます。
この情報は、スロットリングの動作を理解し、システム構成に変更を行う判断材料として使用します。この表では、周波数とはプロセッサーのコア周波数を指します。
理由 | 説明 |
---|---|
PROCHOT |
外部 PROCHOT のアサートにより、周波数が OS 周波数以下になりました。 |
THERMAL |
サーマルイベントにより、周波数が OS 周波数以下になりました。 |
RSR-LIMIT |
居住国の規制制限違反により、周波数が OS 周波数以下になりました。 |
RATL |
動作平均サーマル制限違反により、周波数が OS 周波数以下になりました。 |
OTHER |
電気的またはその他の制約により、周波数が OS 周波数以下になりました。 |
PBM-PL1 |
パッケージ/プラットフォーム・レベルの電力制限 PL1 により、周波数が OS 周波数以下になりました。 |
PBM-PL2 |
パッケージ/プラットフォーム・レベルの電力制限 PL2/PL3 により、周波数が OS 周波数以下になりました。 |
MAX-TURBO-LIMIT |
マルチターボの制限により、周波数が OS 周波数以下になりました。 |
TURBO-ATTENUATION |
ターボ遷移の減衰により、周波数が OS 周波数以下になりました。これにより、稼働率が頻繁に変化することから、パフォーマンスが低下する可能性があります。 |
この理由の詳細については、『インテル®64 アーキテクチャーおよび IA-32 アーキテクチャー・ソフトウェア開発者マニュアル』(英語) を参照してください。