共用方式為


程式碼剖析工具中的 CPU 和 Windows 計數器

Visual Studio 2012 分析工具可讓您收集作業系統所產生的效能資料 (Windows 計數器) 和處理器單元所產生的效能資料 (CPU 計數器)。

需求

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
注意事項注意事項

在 Windows 8 中的增強的安全性功能和 Windows Server 2012 要求 Visual Studio 分析工具會收集這些平台之資料的方式有重大的變更。Windows 存放區應用程式也需要新的技術。請參閱 剖析 Windows 8 和 Windows Server 2012 應用程式

Windows 計數器

Windows 計數器是 Windows 診斷基礎結構的一部分,此基礎結構可提供作業系統、應用程式、服務或驅動程式的效能相關資訊。 Windows 計數器會視目前電腦的組態而定,在其他電腦上可能無法使用。 Windows 效能計數器會在分析資料檔案中當做分析標記來收集,而這些標記稍後可用來篩選檢視和報表。

CPU 計數器

CPU 計數器是電腦 CPU 的一項功能,可儲存硬體相關事件計數。 當您使用檢測分析方法來收集 CPU 計數器資料時,此資料會附加至函式和模組的資料。 您可以使用檢測方法收集多個 CPU 計數器。 當您使用取樣方法時,必須選取一個計數器做為要取樣的事件。

效能計數器會視 CPU 而定。 不同的 CPU 型號和版本可能會有差異極大的組態設定,以便啟用相同的效能計數器。 Visual Studio 2012 分析工具的可移植事件可將一些通用的效能計數器與特定處理器分開來,讓您收集或取樣一般效能事件。

如果使用分析工具時想要計算特定事件 (例如 L2 快取區遺漏),您可以建置與該事件傳送者有關的效能工作階段。 對於具有 L2 快取的任何 CPU,您都可以這麼做。 效能工作階段可以在平台之間移動,而毋需進行修改。

Visual Studio 分析工具可持續支援特定平台的特定事件。 例如,Pentium 4 平台上的開發人員可能想要計算 NetBurst 架構特有的事件。 這個事件無法移植,但是開發人員仍然可以在特定平台上的特定效能工作階段使用此事件。

可移植和平台事件

可移植的事件是一組非專門針對特定處理器的 CPU 計數器。 其他所有 CPU 計數器都稱為平台事件,但不一定各種平台都支援。

可移植和平台事件的計數器都會在 .XML 檔案中定義,並於檔案中提供與計數器相關的特定值。 不同的 CPU 會有多個檔案,因為像 Intel 和 AMD CPU 的資料就是不同的資料。 Visual Studio 2008 分析工具會使用這項資訊,為使用者提供適用於效能度量的可移植和平台計數器。

Bb385772.collapse_all(zh-tw,VS.110).gif可移植的事件

可移植的事件包含下列事件:

一般事件

事件名稱

事件描述

Instructions Retired

表示在事件完成前已執行的指令數目。

Non Halted Cycles

指示僅限於處理器未停止 (例如,等候 I/O) 的週期。

前端事件

事件名稱

事件描述

ITLB Misses

指示造成遺漏的指令轉換後備緩衝區 (Instruction Translation Look-aside Buffer,ITLB) 查閱次數。

分支事件

事件名稱

事件描述

Branches Retired

表示事件完成前已執行的分支指令數目。

Mis-predicted Branches

表示由於處理器估計路徑錯誤,因而產生的錯估分支數目。 錯估的分支會影響效能的原因在於,處理器必須捨棄所有已完成的工作,並在正確的路徑上重新開始。

記憶體事件:

事件名稱

事件描述

L2 Cache Read Misses

表示第二層快取讀取遺漏的數目。

L2 Cache Read References

表示第二層快取讀取參考的數目。 這包括載入遺漏和讀取所有權 (RFO) 遺漏和觸及次數。

檢視可用的計數器

您也可以列出在 Visual Studio IDE 中的可用 CPU 計數器在命令提示字元] 視窗。

Bb385772.collapse_all(zh-tw,VS.110).gifVisual Studio UI

若要列出電腦上可用的計數器是在 Visual Studio IDE 中,您必須進行程式碼剖析工具效能工作階段開啟在 [效能總管] 中。

若要檢視目前平台支援的所有 CPU 計數器清單

  1. 在 [效能總管] 中,以滑鼠右鍵按一下效能工作階段,然後按一下 [屬性]。

  2. 執行下列任一步驟:

    • 按一下 [取樣],然後從 [取樣事件] 清單選取 [效能計數器]。 CPU 計數器隨即列於 [可用的效能計數器] 中。

      按一下注意事項。 傳回的 [取消] 到前一個範例組態。

    -或-

    • 選取 [CPU 計數器],然後選取 [收集 CPU 計數器]。 CPU 計數器隨即列於 [可用的計數器] 中。

      按一下注意事項。 傳回的 [取消] 到前一個計數器收集組態。

若要檢視目前平台支援的 Windows 計數器清單

  1. 在 [效能總管] 中,以滑鼠右鍵按一下效能工作階段,然後按一下 [屬性]。

  2. 按一下 [Windows 計數器]。

  3. 選取 [收集 Windows 計數器]。

  4. 從 [計數器分類] 清單中選取計數器群組。 該群組的 Windows 計數器隨即顯示在清單方塊中。

    按一下注意: 傳回的 [取消] 到前一個計數器收集組態。

Bb385772.collapse_all(zh-tw,VS.110).gif命令列

您可以使用 VSPerfCmd 命令列工具,從命令列列出電腦上的可用 CPU 計數器。

若要列出目前平台支援的所有 CPU 計數器

  1. 開啟命令提示字元視窗。

  2. 型別

    <Visual Studio Performance Tools Directory>\VSPerfCmd /querycounters

    其中 <Visual Studio Performance Tools Directory> 是 Visual Studio 安裝的「效能工具」目錄路徑,通常是

    C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools

請參閱

工作

HOW TO:選擇取樣事件

HOW TO:使用檢測方法收集 CPU 計數器資料

HOW TO:收集 Windows 計數器資料

其他資源

概觀 (程式碼剖析工具)