DA0026:過多核心 CPU 時間處理

規則 ID

TODO

分類

程式碼剖析工具使用

程式碼剖析方法

取樣

訊息

測量到相對大量的核心模式 CPU 時間。請考慮在啟用 SysCall 取樣情況下探查原始檔。

規則型別

資訊

當您使用取樣、.NET 記憶體或資源爭用方法進行程式碼剖析時,必須至少收集 10 個範本才能觸發此規則。

原因

以核心模式執行的 CPU 時間比例超過使用者模式所花的時間量。請考慮重新進行程式碼剖析並取樣系統呼叫 (syscalls) 數目,以判斷造成高核心模式執行時間的原因。

規則描述

應用程式花在核心模式執行的時間比例相當高,可能需要進一步調查。使用者模式應用程式會轉換至核心模式,以執行 I/O 作業、等候執行緒或處理序同步處理基本型別,或執行系統呼叫。當您選取依據系統呼叫收集呼叫堆疊樣本的選項時,可以調查應用程式所執行的系統呼叫類型,以及哪些函式造成這些系統呼叫。

如何修正違規

若要調查應用程式所執行的系統呼叫類型,請重新執行程式碼剖析,並且選取依據系統呼叫收集樣本的選項。如果您是在 IDE 內部執行程式碼剖析工具,請參閱 HOW TO:選擇取樣事件以取得詳細資訊。如果您是從命令列執行程式碼剖析工具,請參閱《命令列程式碼剖析工具參考》中 VSPerfCmd 主題的Sampling Interval Options一節。