核心檢視

[核心檢視] 顯示執行緒的執行如何對應至邏輯處理器核心 (選擇 [分析]>[並行視覺化檢視] 來啟動並行視覺化檢視)。 如果您要撰寫伺服器應用程式,此檢視可使用執行緒同質性或執行緒集區管理協助您最佳化快取效能。 它也可以協助您檢查使用執行緒同質性可能讓跨核心移轉問題惡化的情況。 核心檢視有兩個部分:圖形和圖例。

圖形在 y 軸顯示邏輯核心數,在 x 軸顯示時間。 圖形中的每個執行緒都有唯一的色彩,以便您追蹤執行緒在核心之間隨時間的移動。 您可以在圖例區域中選取執行緒,篩選此圖形上的執行緒。

圖例區域有圖形中每一種色彩的項目。 每個項目會顯示執行緒色彩和名稱、跨核心內容切換的次數、內容切換總數和跨核心之內容切換的百分比。 圖例以遞減順序,依跨核心內容切換的次數排序。 只列出在顯示的時間範圍內執行的執行緒。 如果您縮放或平移,就會更新清單。

核心檢視圖例

核心檢視圖例依色彩和名稱識別每個執行緒。 當中包含顯示跨核心內容切換計數、內容切換總數,以及跨核心之內容切換百分比的欄。 圖例中的列以遞減順序,依跨核心內容切換的次數排序。

您可以選取圖例中的列篩選在時間軸中顯示的執行緒。 時間軸只會顯示選取的執行緒。 如果您不選取任何列,時間軸會顯示所有列。

跨核心內容切換比起保留在相同邏輯核心中的切換花費更多的負荷和效能。 在內容切換期間會儲存及還原處理器暫存器、執行作業系統核心程式碼、重新載入轉譯對應緩衝區項目,以及排清處理器管線。 跨核心內容切換可能比其他內容切換更加耗用資源,因為此執行緒的快取資料在另一個核心無效。 相反地,如果執行緒內容切換到先前執行的核心上,快取中很可能還是有有用的資料。 當跨核心內容切換已增加管理執行緒同質性的嘗試次數,且效能也降低時,請考慮是否要解決此問題。 請先消除執行緒同質性,然後觀察產生的跨核心行為。

下表描述圖例項目。

元素 定義
執行緒名稱 顯示前一個核心時間軸中執行緒的名稱和執行緒的色彩。
跨核心內容切換 執行緒也從一個邏輯核心切換到另一個的內容切換次數。 它不會區分從一個處理器晶粒跨越到另一個的跨核心內容切換,與留在相同晶粒上的跨核心內容切換。
總計內容切換次數 在取樣期間內指定執行緒的內容切換總數。 每次當執行緒變更內容 (例如,從執行到同步處理) 時,就計算一次內容切換。
跨核心內容切換的百分比 以跨核心內容切換總數除以內容切換總數的百分比計算。 這個百分比越高,跨核心內容切換的負荷對於此特定執行緒的效能整體影響越大。

核心檢視時間表

時間軸中的每個資料列都代表已分析系統上的邏輯處理器核心。 針對每個資料列,水平軸會顯示哪一個執行緒在指定時間點的邏輯核心上執行。 您可以將滑鼠指標停留在時間軸中感興趣的色彩上方,以傳回可識別執行緒的工具提示。 為了協助執行緒識別,視窗底部的圖例會顯示每個色彩所代表的內容。 使用 [縮放] 工具來放大和縮小,方法是按一下並拖曳,或按 CTRL 鍵並移動滑鼠滾輪。 切換 [核心檢視] 與 [執行緒檢視] 時,會維護縮放一致性。

核心檢視邏輯核心

每個通道名稱都代表存在於已分析系統的其中一個邏輯核心。 命名計數會從 0 到邏輯核心總數。 例如,四核心系統將從邏輯核心 0 計算到邏輯核心 3。

核心檢視縮放工具

[縮放] 控制項是可讓您放大和縮小時間軸的滑桿,以專注在特別感興趣的區域。 此控制項會放大目前檢視的中心,以在放大之前調整檢視。

其他縮放方式

  • 放大:拖曳以選取時間軸檢視中的區域。 放開滑鼠按鈕之後,選取的範圍就會在時間軸檢視中放大。

  • 放大和縮小:將滑鼠指標放在時間軸上方,然後在移動滑鼠滾輪時按 Ctrl 鍵。