共用方式為


運行時間分析

備註

本文專屬於 .NET Framework。 它不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。

效能分析是在任何開發或部署案例中收集效能數據的方法。 本節適用於想要收集應用程式效能相關信息的開發人員和系統管理員。

使用效能監視器追蹤效能(Perfmon.exe)

性能監視器是用來分析 .NET Framework 應用程式的最簡單工具。 性能監視器會以圖形方式表示 .NET Framework 性能計數器中找到的數據,這些計數器是隨 Common Language Runtime 和 Windows SDK 一起安裝的。 這些計數器可用來監視從記憶體管理到 Just-In-Time (JIT) 編譯程式效能的所有專案。 他們會告訴您應用程式使用的資源,這是應用程式效能的間接量值。 使用這些計數器來瞭解應用程式在內部的運作方式。

在 Windows Vista 和更新版本上執行 Perfmon.exe

  1. 在命令提示字元中,輸入 perfmon[性能監視器] 主控台隨即出現。

  2. 在 [ 監視工具] 資料夾中,按兩下 [ 效能監視器]。

  3. 在 [性能監視器] 工具列中,如果存在,請按兩下 [新增 ] 圖示 (加號)。 如果不存在,請在監視視窗中按下滑鼠右鍵,然後選取 [ 新增計數器] 選項。

    這會開啟 [ 新增計數器] 對話框。 [可用的計數器] 清單框會顯示可用的性能物件。 .NET Framework 應用程式有許多預先定義的物件,包括記憶體管理的物件(.NET CLR 記憶體)、互作性 (.NET CLR Interop)、例外狀況處理 (.NET CLR 例外狀況)和多線程 (.NET CLR LocksAndThreads)。 每個性能物件都包含一些個別性能計數器。 如需性能監視器中可用的性能計數器清單,請參閱 性能計數器

  4. 選取性能物件名稱旁的複選框,以檢視其支援的個別性能計數器清單。

  5. 按兩下您想要檢視的性能計數器。

  6. [選取物件實例的實例 ] 列表框中,按兩下 <[所有實例> ] 以指定您想要全域監視 Common Language Runtime 的性能計數器(也就是全系統為基礎)。

    -或-

    在 [ 選取物件實例] 清單框中,按下應用程式名稱來監視該應用程式的性能計數器。

    若要區分多個版本的執行環境,或釐清具有相同名稱的多個應用程式之間的混淆,您也必須修改登錄機碼。 如需詳細資訊,請參閱 性能計數器和 In-Process 側By-Side 應用程式

備註

當效能主控台執行時安裝新的性能計數器時,請停止並重新啟動 Performance 控制台,讓新的計數器可見。

如果您想要分析存在於區域或遠端共用上的元件,請確定遠端元件在執行性能計數器的計算機上具有完全信任。 如果元件沒有足夠的信任,性能計數器將無法運作。 如需將信任授與不同區域的相關信息,請參閱 Caspol.exe (程式代碼存取安全策略工具)

備註

在安裝 .NET Framework 4 的系統上,性能監視器可能無法針對使用 .NET Framework 1.1 開發的應用程式,顯示某些類別的性能計數器數據,例如 .NET CLR 數據和.NET CLR 網路。 如果是這種情況,您可以將 <forcePerformanceCounterUniqueSharedMemoryReads> 元素新增至應用程式的組態檔,來設定性能監視器以顯示這些數據。

以程式設計方式讀取和建立性能計數器

.NET Framework 提供類別,您可以使用類別,以程序設計方式存取效能控制台中可用的相同效能資訊。 您也可以使用這些類別來建立自定義性能計數器。 下表描述 .NET Framework 中提供的一些效能監視類別。

班級 說明
System.Diagnostics.PerformanceCounter 表示 Windows 性能計數器元件。 使用此類別可讀取現有的預先定義或自定義計數器,並將效能數據發佈至自定義計數器。
System.Diagnostics.PerformanceCounterCategory 提供數種方法來與電腦上的計數器和計數器類別互動。
System.Diagnostics.PerformanceCounterInstaller PerformanceCounter 元件指定安裝程式。
System.Diagnostics.PerformanceCounterType 指定要計算 NextValue 方法的 PerformanceCounter公式。

另請參閱