共用方式為


DA0026:過多核心 CPU 時間處理

規則 ID

TODO

分類

程式碼剖析工具使用

程式碼剖析方法

取樣

訊息

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

規則型別

資訊

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

原因

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

規則描述

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

如何修正違規

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