DA0026:過多核心 CPU 時間處理
規則 ID |
TODO |
分類 |
程式碼剖析工具使用 |
程式碼剖析方法 |
取樣 |
訊息 |
測量到相對大量的核心模式 CPU 時間。 請考慮在啟用 SysCall 取樣情況下探查原始檔。 |
規則型別 |
資訊 |
當您使用取樣、.NET 記憶體或資源爭用方法進行程式碼剖析時,必須至少收集 10 個範本才能觸發此規則。
原因
以核心模式執行的 CPU 時間比例超過使用者模式所花的時間量。 請考慮重新進行程式碼剖析並取樣系統呼叫 (syscalls) 數目,以判斷造成高核心模式執行時間的原因。
規則描述
應用程式花在核心模式執行的時間比例相當高,可能需要進一步調查。 使用者模式應用程式會轉換至核心模式,以執行 I/O 作業、等候執行緒或處理序同步處理基本型別,或執行系統呼叫。 當您選取依據系統呼叫收集呼叫堆疊樣本的選項時,可以調查應用程式所執行的系統呼叫類型,以及哪些函式造成這些系統呼叫。
如何修正違規
若要調查應用程式所執行的系統呼叫類型,請重新執行程式碼剖析,並且選取依據系統呼叫收集樣本的選項。 如果您是在 IDE 內部執行程式碼剖析工具,請參閱 HOW TO:選擇取樣事件以取得詳細資訊。 如果您是從命令列執行程式碼剖析工具,請參閱《命令列程式碼剖析工具參考》中 VSPerfCmd 主題的Sampling Interval Options一節。