依 ID 排序的效能規則
警告 |
說明 |
---|---|
呼叫 System.String.Concat 佔用程式碼剖析資料相當大的百分比。 請考慮使用 StringBuilder 類別從多個區段建構字串。 |
|
程式碼剖析工具在執行程式碼剖析期間找不到 VSPerfCorProf.dll。 使用命令列工具收集分析工具資料,但未使用 VSPerfCLREnv.cmd 工具初始化必要的環境變數時,會發生這個警告。 |
|
針對應用程式所收集的相當高比例的呼叫堆疊樣本是以核心模式執行。 請考慮使用不同的程式碼剖析方法,為應用程式進行程式碼剖析。 |
|
透過檢測方法所收集的程式碼剖析資料中,處理器 (CPU) 使用率相當高。 對 CPU 繫結的應用程式進行程式碼剖析時,請考慮使用取樣分析方法。 |
|
大量 .NET 記憶體物件正在層代 2 記憶體回收中回收。 |
|
對 Equals 方法或公用實值型別之等號比較運算子的呼叫佔程式碼剖析資料顯著的比例。 請考慮實作更有效率的方法。 |
|
程式碼剖析資料中呼叫了高比率的 .NET Framework 例外處理常式。 請考慮使用其他控制流程邏輯,以減少擲回的例外狀況數目。 |
|
執行程式碼剖析期間僅收集少數樣本。 請考慮延長執行時間或使用較快的取樣率,以取得更重要的結果。 |
|
在 Just In Time (JIT) 編譯器中花費了相當程度的應用程式執行時間。 |
|
對型別之 GetHashCode 方法的呼叫佔程式碼剖析資料顯著的比例,或方法配置記憶體。 |
|
型別的 CompareTo 方法高度耗費資源或會配置記憶體。 |
|
對 System.Reflection 方法 (例如 InvokeMember 和 GetMember) 或對 Type 方法 (例如 MemberInvoke) 的呼叫佔程式碼剖析資料顯著的比例。 可能的話,請考慮用相依組件之方法的早期繫結來取代這些方法。 |
|
呼叫 System.String.Split or System.String.Substring 佔用程式碼剖析資料相當大的部分。 如果您要測試字串中是否存在子字串,請考慮使用 System.String.IndexOf 或 System.String.IndexOfAny。 |
|
執行程式碼剖析時所收集的系統效能資料指出,在整個程式碼剖析執行期間發生非常高比率的作用中記憶體對磁碟的來回分頁。 這個層級的分頁比率通常會影響應用程式的效能和回應。 請考慮修訂演算法來降低記憶體配置。 您可能也必須考慮應用程式的記憶體需求。 請在具有更多記憶體的電腦上,重新執行程式碼剖析。 |
|
執行程式碼剖析時所收集的系統效能資料指出,在整個程式碼剖析執行期間發生高比率的作用中記憶體對磁碟的來回分頁。 這個層級的分頁比率通常會影響應用程式的效能和回應。 請考慮修訂演算法來降低記憶體配置。 您可能也必須考慮應用程式的記憶體需求。 請在具有更多記憶體的電腦上,重新執行程式碼剖析。 |
|
在執行程式碼剖析期間所收集的系統資料指出,.NET Framework 記憶體堆積接近 32 位元處理序內允許的 Managed 堆積大小上限。 回報的值就是進行程式碼剖析之處理序處於作用中狀態時觀察到的堆積最大值。 請考慮最佳化應用程式對 Managed 資源的使用。 |
|
程式碼剖析期間收集的系統效能資料指出,相較於層代 0 資料收集,層代 1 記憶體回收中回收相當高比例的 .NET Framework 物件記憶體。 |
|
程式碼剖析期間收集的系統效能資料指出,相較於層代 0 和層代 1 記憶體回收,層代 2 記憶體回收中回收相當高比例的 .NET Framework 物件記憶體。 |
|
程式碼剖析期間收集的系統效能資料指出,相較於應用程式處理總時間,記憶體回收所花費的時間量相當高。 |
|
程式碼剖析期間收集的系統效能資料指出,相較於應用程式處理總時間,記憶體回收所花費的時間量過高。 |
|
以核心模式執行的 CPU 時間比例超過使用者模式所花的時間量。 請考慮重新進行程式碼剖析並取樣系統呼叫 (syscalls) 數目,以判斷造成高核心模式執行時間的原因。 |
|
您嘗試對使用 .NET Framework 1.1 版的應用程式進行程式碼剖析,但程式碼剖析工具不支援此版本。 |
|
對 System.Data 方法的呼叫佔程式碼剖析資料顯著的比例,而且您尚未在程式碼剖析執行時收集階層互動資料。 請考慮重新進行程式碼剖析並加入階層互動資料。 |
|
隨程式碼剖析資料一起收集的系統效能資料指出,在應用程式執行期間發生相當高比率的鎖定爭用。 請考慮使用並行程式碼剖析方法重新進行程式碼剖析,找出爭用原因。 |
|
隨程式碼剖析資料一起收集的系統效能資料指出,在應用程式執行期間發生比率過高的鎖定爭用。 請考慮使用並行程式碼剖析方法重新進行程式碼剖析,找出爭用原因。 |
|
這個訊息回報處理器忙於執行應用程式指令的時間百分比。 回報的值就是進行程式碼剖析之處理序處於作用中狀態的所有測量間隔的平均值。 在具有一個以上處理器的電腦上,百分比值可能大於 100%。 |
|
這個訊息回報處理器忙於執行應用程式指令的最大時間百分比。 回報的值是要程式碼剖析之處理序處於作用中狀態的所有測量間隔所回報的最大值。 在具有一個以上處理器的電腦上,百分比可能大於 100%。 |
|
這個訊息回報處理序目前所使用的平均實體記憶體量 (工作集,以位元組為單位)。 處理序工作集代表處理序位址空間中目前位於實體記憶體內的頁面。 |
|
這個訊息回報處理序目前所使用的最大實體記憶體量 (以位元組為單位)。 處理序工作集代表處理序位址空間中目前位於實體記憶體內的頁面。 這個規則回報程式碼剖析處於作用中狀態時處理序工作集的最大值。 |
|
這個訊息回報處理序目前已配置的平均虛擬記憶體量 (私用位元組,以位元組為單位)。 私用位元組代表由處理序所配置而且只能供在處理序內部執行之執行緒存取的虛擬記憶體位置。 |
|
這個訊息回報處理序目前已配置的最大虛擬記憶體量 (私用位元組,以位元組為單位)。 私用位元組代表由處理序所配置而且只能供在處理序內部執行之執行緒存取的虛擬記憶體位置。 |