1

我聽說很多關於使用Visual Studio 2015和Intellitrace中的新診斷工具調查CPU和內存問題的這些新功能。假設我需要解決生產環境中的高內存或CPU問題。我知道我可以從生產環境中收集iTrace文件,但是確定高內存/ CPU的原因可能有用嗎?到目前爲止,我所見過的Intellitrace的所有用例都與不希望的行爲有關,例如異常等,但我希望看到使用intellitrace來處理生產內存/ cpu問題的任何教程。Intellitrace是否適用於調查生產環境中不需要的內存/ CPU使用問題

回答

1

,您可以使用獨立收集記錄的IntelliTrace日誌在生產環境中這是真的。但是,這些日誌不會包含有關CPU /內存使用情況的任何信息(實際上,iTrace文件僅包含有關方法調用的信息)。

這意味着,如果你打開記錄在生產環境中在Visual Studio iTrace文件,你會看到只有記錄的診斷事件,並調用樹的列表(如果是的IntelliTrace配置爲收集呼叫信息)。 診斷工具窗口將不可用。如果試圖打開它,則會報告以下錯誤消息:

診斷工具窗口不支持當前的調試配置。

如果你想使用的Visual Studio 2015年診斷工具來分析生產CPU /內存使用你可能感興趣的Using the Profiling Tools from Command-line。但是,我沒有嘗試過這種方法,所以我不知道它是否方便。第二個問題可能是授權。我不確定這些命令行工具是否可以在不安裝VS的情況下使用。

0

我建議爲具有生產環境的目標機器建立remote debugging。您不需要目標安裝Visual Studio,但需要安裝Remote Tools。在調試時,您可以使用CPU UsageMemory Usage工具。

除了this answer我還會補充一點:1)Using the Profiling Tools from Command-line是指在Performance and Diagnostics Hub中用於性能嚮導工具的命令行界面,CPU使用和內存使用工具目前沒有命令行界面; 2)您do not need安裝Visual Studio IDE從命令行使用分析工具。

+0

這是客戶端的數據中心,訪問非常有限。我可以收集轉儲文件,我可以讓客戶端運行PerfView,但設置遠程調試將嚇唬這些人到地獄:)我正在尋找非侵入性的技術。 – BKS

+0

這可能是最好的嘗試和重現問題在你身邊,那麼你有充分的環境;)但我意識到這並不總是可能的。 – SvenS

0

您可以在應用程序中構建一個診斷線程來監視異常行爲,並在不停止操作的情況下執行幾次有限的轉儲。

可以創建一個虛擬方法,它不會在可疑代碼中運行併爲其提供一些字符串或int參數。這些將被捕獲到IntelliTrace中,以便您可以在intellitrace日誌中跟蹤perf,cpu等值等。

相關問題