次の方法で共有


プロファイラー設定の最適化

Visual Studio の [パフォーマンス プロファイラー] ウィンドウと [診断ツール] ウィンドウには、ツールの全体的なパフォーマンスに影響するさまざまな設定があります。 一部の設定を変更すると、分析が迅速に実行されたり、ツールで結果を処理している間に追加の待機時間が発生したりする可能性があります。 特定の設定とそのパフォーマンスへの影響の概要を次に示します。

シンボルの設定

デバッガー オプション ([デバッグ] > オプション > シンボル または [ツール] > オプション > [デバッグ] > シンボル) にあるシンボル設定は、ツールで結果を生成するのにかかる時間に大きな影響を与えます。 シンボル サーバーを有効にするか、_NT_SYMBOL_PATH を使用すると、プロファイラーはレポートに読み込まれたモジュールごとにシンボルを要求します。 現在、プロファイラーは、シンボルの自動読み込み設定に関係なく、常にすべてのシンボルを自動的に読み込みます。

シンボルの読み込みページ

シンボルの読み込みの進行状況は、[診断ツール] 見出しの下の [出力] ウィンドウで確認できます。

シンボルの読み込みの進行状況

ダウンロードするとシンボルがキャッシュされるため、今後の分析は高速化されますが、ファイルの読み込みと分析が必要になります。 シンボルの読み込みが分析の速度を低下させる場合は、シンボル サーバーをオフにして、シンボル キャッシュをクリアしてみてください。 代わりに、プロジェクト用にローカルにビルドされたシンボルに依存します。

外部コードを表示する

パフォーマンス プロファイラーのDiagnostic Tools ウィンドウ内のツールの多くは、ユーザー コードと外部コードの概念を持っています。 ユーザー コードは、開いているソリューションまたは開いているワークスペースによって構築された任意のコードです。 外部コードはそれ以外のものです。 [自分のコードのみを表示する] 設定を有効に したままにするか、[外部コード を表示する] 設定を無効にして、ツールで外部コードを 1 つの第 1 レベル フレームに集計し、結果を表示するために必要な処理量を大幅に減らすことができます。 これにより、ユーザーは、処理されるデータを最小限に抑えながら、速度低下を生み出した外部コードで何が呼び出されたかを確認できます。 可能な場合は、[外部コード を表示する] を有効にし、分析している .diagsession ファイルのソリューションまたはワークスペースが開いていることを確認します。

ほとんどのプロファイリング ツールでは、レポートの概要ページの設定にユーザー コード オプションが表示されます。

[自分のコードのみを表示] オプションのスクリーンショット。

トレース実行時間

プロファイリングの期間が短いほど、データが少なくなり、分析が速くなります。 通常は、トレースを 5 分以下のパフォーマンス データに制限することをお勧めします。 CPU 使用率 ツールなどの一部のツールでは、ツールの実行中にデータ収集を一時停止できるため、収集されたデータの量を分析対象のシナリオに制限できます。

サンプリング周波数

CPU 使用率 ツールや NET オブジェクト割り当て ツールなど、特定のツールを使用すると、サンプリング頻度を調整できます。 このサンプリング頻度を大きくすると、より正確に測定できますが、生成されるデータの量は増加します。 通常、特定の問題が調査されていない限り、この設定は既定のレートのままにすることをお勧めします。

Diag ハブのプロパティ ページ

Diag ハブのプロパティ ページ

コレクション フォルダーを設定する

Visual Studio プロファイラーは、コレクション スクラッチ ディレクトリを使用して、パフォーマンス トレースを保存または破棄する前に格納します。 既定では、プロファイラーは一時ディレクトリを使用します。 ただし、別のスクラッチ ディレクトリを指定するには、最初に [診断ツール] ウィンドウ (デバッグ>[Windows]>[診断ツールの表示]) を開き、[ツールの選択>[設定]>[全般]>[スクラッチ ディレクトリ]] を選択します。

プロファイラーのスクラッチ ディレクトリのスクリーンショット。