常見深入分析問題

評定會設定預先定義的分析臨界值,以完成其測量的活動。 當活動持續時間超過這些臨界值時,評定會識別並報告問題。 Windows 評定工具組中的某些評定會執行進階問題分析。 您可以在 Windows 評定主控台和 Windows 評定服務 - 用戶端 (Windows ASC) 中檢視這些問題,並在 Windows 效能分析器 (WPA) 中進一步分析問題。

從評量產生的問題來自數個來源。 本主題描述一些常見的進階分析問題。

問題格式

在 Windows 評定主控台和 Windows ASC 中,評量所報告的問題會出現在 2 個位置:在 [ 結果檢視 ] 頁面的左欄中,以及右側的詳細資料窗格中。 在 [ 結果檢視 ] 頁面上,問題、警告和錯誤會出現在回合資訊資料表和評估結果資料表中。 您可以用滑鼠右鍵按一下 [ 問題 ],然後選取要分組依據的準則來分組這些問題。 在詳細資料窗格中,問題會依嚴重性排序。 您可以使用關鍵字和中繼資料來篩選它們。 如需詳細資訊,請參閱 群組、篩選和搜尋問題

當您使用 [結果檢視] 中的連結開啟 WPA 時,您可以看到評定已在 [WPA 問題 ] 視窗中識別的問題清單。 當您選擇其中一個問題時,詳細資料和建議的解決方案會出現在 [WPA 詳細 資料] 視窗中。 如需 WPA 的詳細資訊,請參閱Windows 效能分析器

大部分出現在 Windows 評定主控台詳細資料窗格中的問題,而 Windows ASC 有一個常見的結構,包括:

  • 標題

    標題包含問題的基本資訊,例如量化問題的計量,以及受影響的活動名稱。 標題資訊也可以包含偵測到問題時評量所在的階段。

  • 建議

    可能的話,詳細資料窗格會提供解決偵測到問題的步驟。 有時候會提供指引,以協助進一步調查問題。 這項資訊可能包括方法或最佳做法,以協助您優化效能,或以其他方式克服已識別的評量問題。

  • 詳細資訊

    在某些情況下,詳細資料窗格會提供其他資訊做為網站的連結,可提供您可以採取以解決問題之步驟的相關資訊。

  • 進一步分析

    如需進階分析問題,詳細資料窗格會提供 WPA 深入分析連結,讓您可以開啟 WPA 並進一步調查問題的來源。

    當 WPA 開啟時,視評量識別的問題類型而定,可能會提供其他詳細資料,例如:

    • 進程映射詳細資料包括有關產生已識別問題之進程的檔案和版本資訊,包括:

      • 檔案名稱
      • 檔案路徑
      • 檔案描述
      • 檔案版本
      • 製造商
    • 依檔案排序的磁片活動摘要,包括:

      • 磁片讀取和寫入的大小和計數
      • 磁片排清計數
    • 依進程/執行緒的 CPU 活動摘要,包括:

      • 進程每個執行緒的 CPU 時間影響
      • 呼叫堆疊,顯示發生效能影響的位置,以及多久時間
    • 由進程或執行緒造成 CPU 或磁片活動的延遲摘要,包括:

      • 延遲的執行緒或進程,包括延遲的持續時間
      • 進程每個執行緒的影響,包括延遲的持續時間
      • 每個造成延遲或受到其影響的執行緒呼叫堆疊

注意

呼叫堆疊提供的資訊是活動的統計標記法。 其精確度取決於評量收集的樣本。

Managed 程式碼

Managed 程式碼是指在 Microsoft .NET Common Language Runtime (CLR) 下執行的程式碼。 CLR 會管理以 Microsoft .NET Framework為基礎的應用程式執行。 CLR 進程會在 Windows 開機期間啟動,而且可能會導致額外的資源耗用量,這可能會延長開機時間。 在 CLR 初始化期間,.NET Framework讀取的檔案可以新增數 MB 的儲存體讀取,以延遲開機程式及開始畫面的外觀。

問題範例

< X >.exe是 Managed 程式碼啟動程式。

建議

對於 Managed 程式碼類別中的問題,如果以 windows 開機.NET Framework為基礎的應用程式或服務很重要,建議您避免使用 Managed 程式碼。 如果您無法避免使用 Managed 程式碼,建議您延遲啟動以.NET Framework為基礎的應用程式或服務,以避免與 Windows 開機的其他基本應用程式或服務所需的資源競爭。

使用 Managed 程式碼牽涉到一些效能額外負荷,而每個呼叫的額外負荷可能會變得非常明顯。 在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結來判斷額外負荷的來源,然後遵循下列步驟來減少延遲:

處理器使用

應用程式和服務的高 CPU 使用量可能會造成使用者體驗不佳,例如 UI 無回應和視訊和音效問題。 當以正常或高優先順序執行的進程執行緒超過使用處理器資源的臨界值時,評估會將進程標示為問題並計算延遲。 當單一進程使用太多 CPU 時,可能會延遲其他進程,因為它們必須競爭系統資源。 產生的問題會根據對 CPU 的影響,將色彩編碼為紅色或黃色。

問題範例

進程< X >會在快速啟動繼續于開啟/關閉期間使用 CPU 5.3 秒。

建議

在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以判斷程式的哪個功能需要進一步調查。 過多的處理器使用一次可能會發生在一個以上的執行緒中。 針對涉及的每個執行緒,檢視 WPA 中的函式呼叫堆疊。

注意

呼叫堆疊提供的資訊是活動的統計標記法。 其精確度取決於評量收集的樣本。

使用的存放裝置

進程可以在執行時間執行儲存體讀取、寫入或排清。 因為硬碟是單一共用資源,所以過度或不必要的儲存體使用可能會導致評估所識別的重大效能問題。

問題範例

進程< X >.exe在開/關後,從儲存體讀取 23 MB (MB) 。

進程< X >.exe在開/關後快速啟動繼續期間排清 12 次到儲存體。

建議

在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以檢閱頂端檔案 I/O 的摘要清單。 使用此清單來尋找造成過多讀取或寫入的檔案。 針對磁片排清,找出指向來源的呼叫堆疊。

  • 針對過多的磁片讀取或寫入,建議您減少進程處理或延遲讀取或寫入到稍後的資料量。

  • 對於無法減少或延遲的 I/O,建議您使用 64 KB 的 I/O 大小, (KB) 為 128 KB,以避免可能會大幅干擾其他未完成 I/O 活動的小型干擾資料流程。

  • 磁片排清會對其他進程影響 I/O 活動。 只有在需要磁片時,才應該執行磁片排清。

處理延遲

當執行緒使用 CPU 或磁片資源時,它會增加活動的持續時間。 對處理器的競爭通常會以執行緒耗盡和/或先占的形式來表示。 此問題的分析區段是由進程所影響的所有線程所組成,這些執行緒會先占或耗盡,稍後會在進程完成之後整備。

執行緒會等候工作完成。 工作完成後,DPC 會讀取此等候執行緒。

等候執行緒及其累積等候時間的執行緒識別碼會出現在問題詳細資料中。 展開問題詳細資料,以檢視此執行緒的等候堆疊。

在複雜的活動中,執行緒通常會等候另一個執行緒等候另一個執行緒,等候工作完成。 DPC、執行執行緒、排程器或其他機制會讀取最新的等候執行緒。 這個最新的等候執行緒會再次執行,並讀取正在等候它的執行緒。 進程會在每個等候執行緒重複,直到最早的等候執行緒整備並再次執行為止。

問題詳細資料會依時間順序描述此控制傳輸順序。 例如:

進程執行緒 712 csrss.exe (600) 等候 374 毫秒

進程執行緒 2724 explorer.exe (1836) 等候 374 毫秒

進程執行緒 4748 explorer.exe (1836) 睡眠 373 毫秒

計時器 DPC 讀取執行緒 4748

執行緒 4748 讀取等候執行緒 2724

執行緒 2724 讀取等候執行緒 712

在活動期間,相同的控制傳輸順序可能會重複多次。 等候時間是累計的。

選擇描述等候執行緒的句子,以檢視包含等候函式的堆疊。 選擇描述執行緒準備另一個執行緒的句子,以檢視顯示就緒函式的堆疊。

上述範例中最內部執行緒的等候堆疊執行緒 4748,通常提供延遲來源的良好概念。 等候函式前面的堆疊框架,以及堆疊後面的檔案資訊,可能會進一步深入瞭解問題。

處理延遲的類型包括:

  • CPU 使用

    當執行緒執行時,不論您在分析的活動期間其優先順序為何,它都會耗用 CPU 時間、參與活動的總時間,而且可能會延遲完成。

    問題範例

    由進程< X >使用的 CPU 會延遲活動、快速啟動繼續總管初始化,以 125 毫秒為單位。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以分析造成延遲之執行緒的呼叫堆疊。

  • 饑餓

    進程執行時所發生的執行緒耗盡可能會導致活動完成延遲。 當執行緒準備好執行時,執行緒會耗盡,但其他執行緒會防止它立即執行。

    問題範例

    進程< X >已耗盡。 耗盡會導致活動延遲快速啟動繼續總管初始化 50 毫秒。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以查看哪一個執行緒已耗盡,以及哪些執行緒或執行緒導致耗盡執行緒無法執行。 查看問題詳細資料並觀察函式呼叫堆疊,以判斷線程耗盡的原因。

  • 先佔

    當另一個優先順序較高的執行緒改為執行時,會先占執行中的執行緒。 較高優先順序的執行緒會導致其他執行緒活動的完成延遲。

    問題範例

    進程< X >會先占。 先占會導致活動延遲快速啟動繼續總管初始化 150 毫秒。

    建議

    如需執行緒排程的詳細資訊,請參閱 執行緒排程

  • Sleep

    執行緒會在呼叫其中一個可用的 Windows 睡眠功能時睡眠,例如 SleepEx。 這會導致執行緒活動完成時的延遲。

    問題範例

    處理< X >會延遲活動快速啟動暫停裝置 BAR,方法是睡眠 4.0 秒。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結。 您可以從函式呼叫堆疊和檔案資訊判斷非預期的執行緒睡眠原因。

儲存體 I/O 延遲

當執行緒使用儲存體資源時,它可以增加活動的持續時間。 當多個執行緒爭用儲存體時,產生的隨機磁片搜尋會讓延遲變得更重要。

儲存體延遲的類型包括:

  • 儲存體讀取和寫入

    下列問題包含活動期間讀取 (或寫入) 原因的所有延遲總和。

    問題範例

    活動快速啟動繼續總管初始化會產生 1.2 秒延遲,因為從儲存體讀取 2.3 MB。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,先查看依最高延遲排序的執行緒,並建議改善此活動期間的效能。

  • 儲存體排清

    下列問題顯示造成活動延遲的所有排清總和。

    問題範例

    活動快速啟動繼續總管初始化會產生 300 毫秒的延遲,因為 4 次排清到儲存體。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以查看導致排清至磁片之每個執行緒的呼叫堆疊,以及識別造成活動延遲的相關程式碼。

登錄排清

當進程在完成登錄修改之後明確使用 RegFlushKey 函式時,就會進行登錄排清。 評估已判斷登錄排清可能是使用者感知效能問題的重要參與者。

您不需要針對登錄的每個變更使用 RegFlushKey 函式。 只有在您必須立即將登錄變更套用至磁片時,才能使用此函式。

登錄排清問題有 2 種:

  • 識別為清除登錄一或多次的程式。 這些問題會分類為高優先順序。

    問題範例

    在快速啟動繼續期間,一或多個進程會在開啟/關閉後排清登錄區。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以檢查造成此行為之進程或進程的每個執行緒。 WPA 提供發生活動的相關函式呼叫堆疊。

  • 在活動期間排清登錄並導致活動完成延遲的進程。

    問題範例

    處理< X >會延遲活動快速啟動暫停呼叫訂閱者設定檔,方法是排清登錄區 405 毫秒。

    建議

    在問題的 [進一步分析 ] 區域中,選擇 [WPA 深入分析] 連結,以分析進程每個執行緒的函式呼叫堆疊。

時間會計

評量通常會報告每個活動的多個問題。 時間會計問題會顯示多個問題考慮的合併時間,以及問題未考慮的活動任何部分。 如果活動包含許多短期問題,且低於分析閾值,則不會回報為個別問題。 此設計有助於醒目提示最具影響力的問題,讓您可以將調查焦點放在其中。

活動持續時間閾值

此臨界值是整個活動預期要花費的時間。 時間會計問題會報告活動的測量持續時間,以及評量所設定的活動持續時間閾值。

最小分析閾值

只有在描述的影響大於分析臨界值時,才會報告問題。

類型 1:

活動持續時間超過活動持續時間閾值。 活動也有超過分析閾值的問題。

問題範例

摘要:快速啟動關機程式Example.exe需要 6.5 秒,且超過 2 秒的臨界值。 評量識別出影響此活動的其他問題。 這些其他問題完全考慮此活動的時間。

類型 2:

活動持續時間超過活動持續時間閾值。 活動也有一組混合的問題,有些問題大於分析臨界值,有些則小於分析臨界值。

問題範例

摘要:快速啟動關機程式Example.exe需要 6.5 秒,且超過 2.0 秒的臨界值。 評量識別出影響此活動的其他問題。 這些其他問題會考慮此啟用時間的 5.9 秒。 剩餘的 500 毫秒是由未超過最小分析閾值 150 毫秒的問題所組成。

類型 3:

活動持續時間超過活動持續時間閾值。 影響此活動的所有問題都小於分析閾值,因此不會顯示。

問題範例

摘要:快速啟動關機程式Example.exe需要 6.5 秒,且超過 2.0 秒的臨界值。 評量識別出影響此活動的其他問題。 這些影響此活動的其他問題不會超過最小分析閾值 200 毫秒,因此會予以省略。

類型 4:

活動持續時間超過評估記錄作用中的期間。 不過,記錄作用中時,活動中發現延遲。 這些延遲是因為 CPU 或磁片競爭所造成。

問題範例

摘要:快速啟動繼續在開啟/關閉後的持續時間不明,因為此活動會在評估記錄結束時完成。 此活動的 4 秒在評量記錄作用中時,是因為 CPU 爭用。

建議

在問題的[進一步分析] 區域中,選擇 [WPA 深入分析] 連結,以在 Windows 效能分析器中檢視此問題。 調查此活動行為的詳細資料,以瞭解回報時延遲的根本原因。 請遵循下列步驟來檢視相關問題:

  1. 使用篩選選項來檢視與 [問題標題] 中所提及之活動相關的所有問題。

  2. 檢視問題的完整清單時,請選擇加 (+) ,然後從篩選選項清單中選取 [ 活動 ]。

  3. 在 [ 問題活動 ] 篩選方塊中,輸入活動的名稱。 從具名活動清單中,選擇特定活動。 您將取得與此時間會計摘要問題相關的已篩選問題清單。

如需如何探索相關問題的詳細資訊,請參閱 群組、篩選和搜尋問題

遺漏符號

某些評定需要存取符號。 在某些情況下,如果符號伺服器無法使用,評量結果中的資訊可能不正確或不完整。 在許多情況下,網際網路連線能力與 Microsoft 公用符號伺服器的存取都滿足此相依性。 在其他情況下,您可以設定私人符號伺服器,或在本機電腦上安裝符號。

使用的符號類型包括:

  • 重大符號: 如果無法使用這些符號,則評量無法完整分析所收集的資料。 在此情況下,問題文字會包含未設定符號且可在評估分析期間使用之模組的特定模組名稱。

  • 協力廠商元件的符號: 如果無法使用這些符號,評估將會順利完成,但其結果可能不正確或不完整。 在 Windows 效能分析器中檢視時,產生的問題詳細資料可能包含不完整或不正確的資訊。 例如,在查看 [問題詳細資料] 區段時,顯示的呼叫堆疊可能會有特定元件的遺漏函式名稱。

  • 核心符號: 記憶體使用量評估會使用核心符號進行分析。 如果找不到這些已設定的符號,則會在結果中建立問題,其中提及評量完成後沒有符號。

建議

遺漏重大符號:確定電腦可以存取 Microsoft 公用符號伺服器。 此問題可藉由指向正確的符號位置,或在本機磁片磁碟機上安裝符號來解決。

遺漏非 Microsoft 元件的符號:這些遺漏的符號可能適用于您自己的元件,或由不同合作夥伴擁有的符號。 與合作夥伴共同作業,以取得遺漏符號之元件的這些協力廠商符號,並在重新執行評估之前,在電腦上設定正確的符號路徑。

注意

如需設定正確符號路徑的詳細資訊,請參閱 針對 Windows 評定服務進行疑難排解

在生態系統中的合作夥伴之間共用元件的符號,可確保透過可靠且有效率的 Bug 分級和分析程式,提供更好的共同作業。 我們建議合作夥伴定義這些共同作業關聯性,以確保您有尋找系統元件上所回報問題的根本原因所需的資源。

DPC 和 ISR

長時間執行的延後程序呼叫 (DPC) 和插斷服務常式 (ISR) 可能會造成延展活動的延遲,而且使用者可能會認為此延遲是效能問題。

DPC (和 ISR) 問題通常需要更深入的分析,工程師熟悉與 DPC (或 ISR) 相關的工作。 此問題的深入分析會因造成延遲或資源使用的 DPC 類型而有所不同。

延遲活動的 DPC

執行緒會等候工作完成。 工作完成後,DPC 會讀取此等候執行緒。

等候執行緒及其累積等候時間的執行緒識別碼會出現在問題詳細資料中。 展開問題詳細資料,以檢視此執行緒的等候堆疊。

在複雜的活動中,執行緒通常會等候另一個執行緒等候另一個執行緒,等候工作完成。 DPC、執行執行緒、排程器或其他機制會讀取最新的等候執行緒。 這個最新的等候執行緒會再次執行,並讀取正在等候它的執行緒。 進程會在每個等候執行緒重複,直到最早的等候執行緒整備並再次執行為止。

問題詳細資料會依時間順序描述此控制傳輸順序。 例如:

進程執行緒 712 csrss.exe (600) 等候 374 毫秒

進程執行緒 2724 explorer.exe (1836) 等候 374 毫秒

進程執行緒 4748 explorer.exe (1836) 睡眠 373 毫秒

計時器 DPC 讀取執行緒 4748

執行緒 4748 讀取等候執行緒 2724

執行緒 2724 讀取等候執行緒 712

在活動期間,相同的控制傳輸順序可能會重複多次。 等候時間是累計的。

選擇描述等候執行緒的句子,以檢視包含等候函式的堆疊。 選擇描述執行緒準備另一個執行緒的句子,以檢視顯示就緒函式的堆疊。

上述範例中最內部執行緒的等候堆疊執行緒 4748,通常提供延遲來源的良好概念。 等候函式前面的堆疊框架,以及堆疊後面的檔案資訊,可能會進一步深入瞭解問題。

DPC 相關的延遲可以分類為這三種類型,如這些範例所示。

問題範例

網路 DPC:網路使用延遲活動快速啟動整體繼續時間 4.0 秒

計時器 DPC:活動快速啟動關機程式Example.exe延遲 5.3 秒

活動快速啟動暫停裝置 BAR 會因為等候執行緒而產生 2.6 秒的延遲。 DPC Example.sys讀取此等候執行緒。

活動期間發生的 DPC 或 ISR

這種類型的問題會強調可能影響案例效能的冗長 ISR 或 DPC。 問題不會將此 ISR/DPC 活動系結至延遲持續時間。

[問題詳細資料] 會列出 ISR/DPC 優先占的每個執行緒。 此清單大致上會以遞減優先時間順序排列。 展開清單中的執行緒,以檢視大約 ISR/DPC 占位之執行緒活動的堆疊。

問題範例

DPC 超過媒體引擎存留期間 1.0 毫秒 5 次的閾值。 此 DPC 的 5 個實例總共執行 3.7 秒

注意

呼叫堆疊中提供的資訊是問題中活動的統計標記法, (每毫秒取樣一次) ,其精確度取決於評量所收集的樣本。

摘要問題

摘要問題包含評估所識別之問題的概觀,這些問題會示範特定的效能行為,並協助視覺化這些對系統更廣泛的影響。 以下是可在評量結果中使用的不同摘要問題類型。

活動磁片使用量摘要

磁片使用量是所有以儲存體讀取、寫入和排清活動形式發出儲存體 I/O 之程式的組合貢獻。 此摘要提供磁片使用量的其他深入解析,除了評估結果中已回報的儲存體使用問題之外。

WPA 中問題的詳細資料包含檔案映射資訊,以及改善案例效能的建議。 分析也包含導致磁片使用量的進程清單,以降低影響的順序。

問題範例

摘要:快速啟動整體繼續問題 275MB 的讀取和寫入,並將 82 次排清至儲存體

注意

當問題依 [結果檢視] 頁面上的[類別] 分組時,此摘要問題會出現在其 [儲存體使用] 群組下的相關問題上方。

處理器使用摘要

處理器使用摘要問題會匯總評估所識別的類似問題,以及活動期間影響較低的問題。 此摘要提供所有相關處理器使用問題的更廣泛觀點。

摘要問題會依影響遞減順序提供每個程式的詳細資料。 針對每個進程,問題會顯示函式呼叫堆疊,此堆疊會結合進程中所有線程的活動,以及 CPU 和檔案映射資訊。 當存在時,個別問題會包含每個適用執行緒的更詳細函式呼叫堆疊。

問題範例

摘要:在快速啟動整體繼續期間,進程會使用 26.9 秒的 CPU 時間

注意

當問題依 [結果檢視] 頁面上的[類別] 分組時,此摘要問題會出現在[處理器使用] 群組下的相關問題上方。

處理器和磁片爭用摘要

此問題摘要說明因處理器和磁片資源爭用而造成的活動延遲。 競爭活動會干擾對案例完成至關重要的工作。 問題詳細資料會以爭用數量遞減順序列出涉及的不同子活動。

每個執行緒都有其他資訊,例如函式呼叫堆疊和檔案資訊,可在評量所報告的每個個別問題內取得。

問題範例

摘要:快速啟動整體暫停需要 29.5 秒。 目前,300 毫秒是因為 CPU 競爭所造成。

當問題依 [結果檢視] 頁面上的[類別] 分組時,此摘要問題會出現在處理器延遲群組下的相關問題上方。

建議

摘要問題可協助您將調查焦點放在最具影響力的問題上。 自行閱讀摘要問題,通常可讓您深入瞭解這些問題的更廣泛影響。

若要取得摘要問題的完整優點,您可以使用這兩個準則之一,將 Windows 評定主控台中的問題清單分組。

  • 類別。 這是摘要問題的預設和建議檢視,其中它們會與特定類型的相同/可比較問題群組在一起。

  • 測試案例。 在此檢視中,摘要問題會與套用至特定活動或測試案例的問題子集群組在一起。

警告

呼叫堆疊中提供的資訊是問題中活動的統計標記法, (每毫秒取樣一次) ,其精確度取決於評量所收集的樣本。

評定記錄

評量依賴 Windows 事件追蹤 (ETW) 記錄來收集資料以供分析。 此記錄會使用系統資源。 此問題類別會考慮評估執行時所發生的儲存體活動。

問題範例

評量會在開/關後繼續執行快速啟動期間,將 39 MB 的儲存體記錄到儲存體。

建議

在問題的 [進一步分析 ] 區域中,選擇 WPA 深入分析連結,以尋找儲存體寫入記錄檔的相關資訊。

Windows 評定主控台

評定