Visual Studio 2015 と Intellitrace の新しい診断ツールを使用して、CPU とメモリの問題を調査するこれらの新機能についてよく耳にします。実稼働環境でメモリや CPU の使用率が高い問題をトラブルシューティングする必要があるとします。実稼働環境から iTrace ファイルを収集できることはわかっていますが、メモリ/CPU の使用率が高い原因を特定するのに役立つものはありますか? これまでのところ、Intellitrace で見たすべての使用例は、例外などの望ましくない動作に関連していますが、本番メモリ/CPU の問題に intellitrace を使用するためのチュートリアルを見たいと思います。
3 に答える
スタンドアロン コレクターを使用して、運用環境でIntelliTraceログを記録できることは事実です。ただし、これらのログには、CPU/メモリの使用に関する情報は含まれません (実際には、 iTraceファイルにはメソッド呼び出しに関する情報のみが含まれます)。
これは、Visual Studio の運用環境で記録されたiTraceファイルを開くと、記録された診断イベントのリストと呼び出しツリーのみが表示されることを意味します (呼び出し情報を収集するように IntelliTrace が構成されている場合)。診断ツールウィンドウは使用できません。開こうとすると、次のエラー メッセージが報告されます。
[診断ツール] ウィンドウは、現在のデバッグ構成をサポートしていません。
Visual Studio 2015 診断ツールを使用して、運用環境で CPU/メモリの使用状況を分析する場合は、コマンドラインからプロファイリング ツールを使用することに関心があるかもしれません。ただし、このアプローチを試したことがないので、便利かどうかはわかりません。2 番目の問題は、ライセンスに関する可能性があります。これらのコマンド ライン ツールが VS をインストールせずに使用できるかどうかはわかりません。
アプリに診断スレッドを構築して、異常な動作を監視し、操作を停止することなく限定的なダンプを結合することができます。
疑わしいコード内で実行することを何も行わないダミー メソッドを作成し、文字列または int パラメーターを与えることができます。これらは IntelliTrace にキャプチャされるため、IntelliTrace ログで perf、cpu などの値などを追跡できます。