ホットスポット解析は、アプリケーションのフローを理解し、多くの実行時間 (ホットスポット) を費やすコード領域を特定するのに役立ちます。特定のプロセス、スレッドまたはモジュールで収集された多数のサンプルは、高いプロセッサー利用率と潜在的なパフォーマンスのボトルネックを意味します。一部のホットスポットは排除できますが、アプリケーション機能の根本にあるホットスポットは排除することはできません。
インテル® VTune™ プロファイラーは、関数で費やされた時間順にアプリケーションの関数のリストを作成します。また、これらの関数のコールスタックも取得するように設定して、ホットな関数がどのように呼び出されているかを確認できます。
-knobオプションを使用して、ホットスポット解析の収集モードを指定します。
sampling-mode=sw- プロファイルで使用されるユーザーモード・サンプリング (デフォルト):
sampling-mode=hw- プロファイルで使用されるハードウェア・イベントベース・サンプリング:
vtune -collect hotspots -knob <knobName=knobValue> [--] <target>
Knob:sampling-mode、enable-stack-collection、sampling-interval、enable-characterization-insights
ホットスポット解析で利用可能な knob (設定オプション) に関する最新情報は、
vtune -help collect hotspots で取得できます。
この例は、Linux* の myApplication のユーザーモード・サンプリング・モードで、ホットスポット解析を実行する方法を示します。
vtune -collect hotspots -knob sampling-mode=sw -- /home/test/myApplication
この例は、Windows* の myApplication のハードウェア・イベントベース・サンプリング・モードで、ホットスポット解析を実行する方法を示します。
vtune -collect hotspots -knob sampling-mode=hw -knob sampling-interval=1 -- C:\test\myApplication.exe
ハードウェア・イベントベース・サンプリング・モードは、インテル® VTune™ Amplifier 2019 で、advanced-hotspots解析に変更されました。
データの収集が完了したら、次のいずれかの方法で結果を表示します。