通用計數器

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2016-11-28

本主題提供 Microsoft Exchange Server 2010 中所有伺服器角色常見計數器的相關資訊。您可以使用效能監視器 (perfmon.exe) 來監視這些計數器。如需詳細資訊,請參閱效能監視入門指南。如需與 Exchange 2010 相關之其他計數器的資訊,請參閱效能及延展性計數器和閾值

處理器和處理程序計數器

下表提供有關處理器和處理程序計數器的資訊。

計數器 描述 閾值 疑難排解

Processor(_Total)\% Processor Time

顯示處理器執行應用程式或作業系統處理程序的時間百分比。這是處理器未閒置的時間。

平均應該小於 75%。

 

Processor(_Total)\% User Time

顯示使用者模式中所用到的處理器時間百分比。使用者模式是一種受限的處理模式,設計給應用程式、環境子系統及整合子系統使用。

應該維持低於 75%。

 

Processor(_Total)\% Privileged Time

顯示特殊權限模式中所用到的處理器時間百分比。特殊權限模式是一種處理模式,設計給作業系統元件和硬體操作驅動程式使用,並允許直接存取硬體和所有記憶體。

應該維持低於 75%。

如果總處理器時間太高,請使用此計數器來判斷造成高 CPU 的處理程序。

Process(*)\% Processor Time

顯示所有用來執行指令之處理程序執行緒的已經歷處理器時間百分比。指令是電腦的基本執行單位。執行緒是執行指令的物件,而處理程序是執行程式時建立的物件。此計數包含為了處理某些硬體插斷和設陷條件而執行的程式碼。

 

如果總處理器時間太高,請使用此計數器來判斷造成高 CPU 的處理程序。

System\Processor Queue Length (所有執行個體)

指出每個處理器服務的執行緒數目。Processor Queue Length 可用來識別處理器爭用或高 CPU 使用是否是因為處理器容量不足以處理指派給它的工作負載所造成。Processor Queue Length 顯示在 Processor Ready Queue 中延遲且等待安排執行的執行緒數目。列出的值是進行測量時的最後一個觀察值。

每個處理器不應該大於 5。

在具有單一處理器的電腦上,觀察到佇列長度大於 5 時,是警告您經常有高於處理器可以輕鬆處理的工作。當此數字大於 10 時,就十分明顯地表示處理器已達飽和,尤其是 CPU 使用也高時。

在具有多處理器的系統上,會將佇列長度除以實體處理器數目。使用硬處理器相關性 (將處理程序指派給特定 CPU 核心) 設定的多處理器系統 (具有較大的佇列長度值),表示組態不均衡。

雖然 Processor Queue Length 一般不是用於容量規劃,但是它可以用來識別環境內的系統是否可以執行負載,或是否應該針對之後的伺服器購買額外的處理器或更快速的處理器。

記憶體計數器

下表顯示常見的記憶體計數器。

計數器 描述 閾值 疑難排解

Memory\Available Mbytes

顯示配置給處理程序後立即可用或供系統使用的實體記憶體數量 (MB)。它等於指派給待命 (快取)、可用和零頁清單的記憶體總和。如需記憶體管理員的完整說明,請參閱 Microsoft Developer Network (MSDN) 或 Windows Server 2003 Resource Kit 中的「系統效能和疑難排解指南」。

應該永遠維持高於 100 MB。

 

Memory\Pool Nonpaged Bytes

包含的系統虛擬位址保證一定常駐於實體記憶體,因此可以從任何位址空間存取,而不需要進行分頁輸入/輸出 (I/O)。非分頁集區與分頁集區一樣,都是在系統初始化期間建立,並供核心模式元件配置系統記憶體使用。

不適用。

 

Memory\Pool Paged bytes

顯示可以分頁至磁碟分頁檔之共用系統記憶體的部分。分頁集區是在系統初始化期間建立,並供核心模式元件配置系統記憶體使用。

不適用。

監視指出可能記憶體流失的集區分頁位元組增加。

Memory\Cache Bytes

顯示目前的檔案系統快取大小 (位元組)。快取預設最多可使用 50% 的可用實體記憶體。此計數器值是 Memory\System Cache Resident Bytes、Memory\System Driver Resident Bytes、Memory\System Code Resident Bytes 和 Memory\Pool Paged Resident Bytes 的總和。

不適用。

應該在應用程式快取它們的記憶體使用量之後維持穩定。請檢查此計數器的大幅下跌,這可能是工作集調整和過多分頁所造成。

供內容索引類別目錄和連續複寫記錄複製使用。

Memory\Committed Bytes

顯示認可虛擬記憶體數量 (位元組)。認可記憶體是保留在磁碟分頁檔上的實體記憶體空間。每個實體磁碟機可以有一個或多個分頁檔。這個計數器只會顯示最新的觀察值,它不是平均值。

不適用。

判斷認可的使用中位元組數量。

Memory\%Committed Bytes in Use

顯示 Memory\Committed Bytes 對 Memory\Commit Limit 的比例。認可記憶體是保留在分頁檔中的使用中實體記憶體空間,而且應該寫回磁碟。認可限制是由分頁檔大小決定。如果分頁檔變大,則認可限制會變寬,而比例會減少。這個計數器只會顯示目前的百分比值,它不是平均值。

不適用。

如果此值很高 (超過 90%),則可能會開始看到認可失敗。這清楚表示系統具有記憶體壓力。

記憶體分頁計數器

下表顯示常見的記憶體分頁計數器。

計數器 描述 閾值 疑難排解

Memory->Transition Pages Repurposed/sec

指出系統快取壓力。

平均應該小於 100。尖峰應該小於 1,000。

 

Memory\Page Reads/sec

表示必須從磁碟讀取資料,而不是從記憶體。也表示記憶體不足,正在開始分頁。每秒高於 30 的值表示伺服器不再足以處理負載。

平均應該小於 100。

 

Memory\Pages/Sec

顯示從磁碟讀取分頁或將分頁寫入磁碟以解決硬體分頁錯誤的速率。此計數器是造成整體系統延遲之錯誤的主要指標。它是 Memory\Pages Input/sec 和 Memory\Pages Output/sec 的總和。而它的計算單位是分頁數目,因此可以與其他分頁計數 (例如 Memory\Page Faults/sec) 進行比較,而不需要進行轉換。它包含擷取以滿足檔案系統快取 (通常是由應用程式所要求) 和非快取對應記憶體檔案中錯誤的分頁。

平均應該低於 1,000。

此計數器傳回的值可能會超出預期。這些值可能會與分頁檔活動或快取活動無關。這些值可能是由接著讀取記憶體對應檔案的應用程式所造成。

使用 Memory\Pages Input/sec 和 Memory\Pages Output/sec,可以判斷分頁檔 I/O。

Memory\Pages Input/sec

顯示從磁碟讀取分頁以解決硬體分頁錯誤的速率。如果處理程序參照虛擬記憶體中不在其工作集或在實體記憶體內其他位置的分頁,而且必須從磁碟進行擷取,則會發生硬體分頁錯誤。發生分頁錯誤之後,系統會嘗試將多個連續分頁讀入記憶體,以最大化讀取作業的優點。請比較 Memory\Pages Input/sec 的值與 Memory\Page Reads/sec 的值,以判斷在每個讀取作業期間讀入記憶體的平均分頁數。

平均應該低於 1,000。

 

Memory\Pages Output/sec

顯示將分頁寫入磁碟以釋出實體記憶體空間的速率。只有在實體記憶體中的分頁變更時,才會將分頁寫回磁碟,因此它們可能是保留資料,而不是撰寫程式碼。高的分頁輸出速率可能指示記憶體不足。Microsoft Windows 會在實體記憶體不足時將更多分頁寫回磁碟,以釋出空間。此計數器顯示分頁數,而且可以與其他分頁計數進行比較,而不需進行轉換。

平均應該低於 1,000。

 

記憶體耗用計數器

下表顯示常見的處理程序記憶體耗用計數器。

計數器 描述 閾值 疑難排解

Process(*)\Private Bytes

顯示此處理程序已配置但無法與其他處理程序共用的目前位元組數目。

不適用。

此計數器可以用於判斷處理程序的任何記憶體流失。

如果是資訊儲存庫處理程序,請比較此計數器值與資料庫快取大小,以判斷資訊儲存庫處理程序是否發生記憶體流失。資訊儲存庫私人位元組的增加以及資料庫快取的相同增加是正確的行為 (未發生記憶體流失)。

Process(*)\Virtual Bytes

代表處理程序目前耗用的虛擬位址空間量 (位元組)。

不適用。

用來判斷處理程序是否耗用大量虛擬記憶體。

處理程序工作集計數器

下表顯示常見的處理程序工作集計數器。

計數器 描述 閾值 疑難排解

Process(_Total)\Working Set

顯示此處理程序工作集的目前大小 (位元組)。工作集是處理程序中的執行緒最近接觸過的記憶體分頁集合。如果電腦的可用記憶體高於閾值,則即使未使用分頁,分頁還是會留在處理程序的工作集中。當可用記憶體低於閾值時,則會從工作集中修剪分頁。如果需要這些分頁,則會在它們離開主要記憶體之前,先將它們以軟錯誤方式送回工作集。

不適用。

工作集的大量增加或減少都會導致分頁。

確保分頁檔設定為建議值 RAM+10。如果正在修剪工作集,請新增 Process(*)\Working Set,以判斷對處理程序的影響。此計數器表示是整個系統還是整個處理程序的問題。使用 Memory\System Cache Resident Bytes 以交互參照此計數器,來判斷是否正在進行整個系統的工作集修剪。

處理程序控制碼計數器

下表顯示常見的處理程序控制碼計數器。

計數器 描述 閾值 疑難排解

Process(*)\Handle Count

顯示此處理程序目前開啟的控制碼總數。此數目是這個處理程序中每個執行緒目前所開啟的控制碼總和。

不適用。

特定處理程序的控制碼計數增加可能是錯誤處理程序帶有控制碼流失的徵兆,因而導致伺服器的效能問題。這不一定是問題,但是會監視某個項目一段時間以判斷是否發生控制碼流失。

.NET Framework 計數器

下表顯示 Microsoft .NET Framework 計數器。

計數器 描述 閾值 疑難排解

.NET CLR Memory(*)\% Time in GC

顯示發生廢棄項目收集的時間。計數器超出閾值時,表示正在清理 CPU,而且未有效率地使用 CPU 進行載入。而將記憶體新增至伺服器可以改善這種情況。

平均應該低於 10%。

如果此計數器值增加地太高,則部分物件會在 Gen 1 廢棄項目收集存留,而升級為 Gen 2。Gen 2 集合需要完整通用類別目錄才能進行清理。請新增其他 .NET Framework 記憶體計數器,以判斷是否為這種情況。

.NET CLR Exceptions(*)\# of Excepts Thrown / sec

顯示每秒擲出的例外狀況數目。這些包含 .NET Framework 例外狀況以及會轉換為 .NET Framework 例外狀況的未管理例外狀況。例如,Unmanaged 程式碼中的 Null 指標參照例外狀況會使用 Managed 程式碼以 .NET Framework System.NullReferenceException 重新擲出。此計數器包含處理和未處理的例外狀況。

應該小於 5% 的每秒的要求 (RPS) 總數 (Web Server(_Total)\Connection Attempts/sec * .05)。

例外狀況只有在極少的情況下才會發生,而且不是程式的一般控制流程。此計數器的設計是為指出因擲出例外狀況的高 (>100 秒) 速率而造成的潛在效能問題。此計數器不是隨著時間的平均值。它顯示最後兩次取樣觀察值的差異,再除以取樣間隔的持續時間。

.NET CLR Memory(*)\# Bytes in all Heaps

顯示其他四個計數器的總和:Gen 0 Heap Size、Gen 1 Heap Size、Gen 2 Heap Size 和 Large Object Heap Size。此計數器表示 GC 堆積上配置的目前記憶體 (位元組)。

不適用。

這些記憶體區域的類型是 MEM_COMMIT 此計數器的值一律會小於 Process\Private Bytes 的值,後者會計算處理程序的所有 MEM_COMMIT 區域數目。Private bytes 減去 # bytes in all heaps 就是未管理物件認可的位元組數目。

用來監視受管理或未管理物件的可能記憶體流失或過多記憶體使用。

網路計數器

下表顯示常見的網路計數器。

計數器 描述 閾值 疑難排解

Network Interface(*)\Bytes Total/sec

指出網路介面卡處理資料位元組的速率。此計數器包含所有應用程式和檔案資料,以及像是封包標頭的通訊協定資訊。

如果是每秒 100 MB (MBps) 的網路介面卡,則應該低於 6-7 MBps。

如果是每秒 1000 MB (Mbps) 的網路介面卡,則應該低於 60-70 Mbps。

 

Network Interface(*)\Packets Outbound Errors

指出因錯誤而無法傳出的封包數。

應該永遠為 0。

 

TCPv4\Connections Established

顯示目前狀態是 ESTABLISHED 或 CLOSE-WAIT 的 TCP 連線數目。可以建立的 TCP 連線數目受限於非分頁集區的大小。用完非分頁集區之後,就無法再建立新的連線。

不適用。

判斷目前的使用者負載。

TCPv6\Connection Failures

顯示目前狀態是 ESTABLISHED 或 CLOSE-WAIT 的 TCP 連線數目。可以建立的 TCP 連線數目受限於非分頁集區的大小。用完非分頁集區之後,就無法再建立新的連線。

不適用。

判斷目前的使用者負載。

TCPv4\Connections Reset

顯示 TCP 連線從 ESTABLISHED 狀態或 CLOSE-WAIT 狀態直接轉移到 CLOSED 狀態的次數。

重設次數的增加或重設速率的持續增加,都表示頻寬不足。

部分瀏覽器會傳送 TCP 重設 (RST) 資料包,因此使用此計數器判斷重設速率時請小心。

TCPv6\Connections Reset

顯示 TCP 連線從 ESTABLISHED 狀態或 CLOSE-WAIT 狀態直接轉移到 CLOSED 狀態的次數。

重設次數的增加或重設速率的持續增加,都表示頻寬不足。

部分瀏覽器會傳送 TCP 重設 (RST) 資料包,因此使用此計數器判斷重設速率時請小心。

Exchange 網域控制站連線計數器

下表顯示 Exchange 網域控制站連線計數器。

計數器 描述 閾值 疑難排解

MSExchange ADAccess Caches(*)\LDAP Searches/Sec

顯示每秒發出的 LDAP 搜尋要求數目。

不適用。

用來判斷目前的 LDAP 搜尋速率。

MSExchange ADAccess Domain Controllers(*)\LDAP Read Time

顯示將 LDAP 讀取要求傳送至指定的網域控制站並接收回應的時間 (毫秒)。

平均應該低於 50 毫秒。尖峰 (最大值) 不應該高於 100 毫秒。

 

MSExchange ADAccess Domain Controllers(*)\LDAP Search Time

顯示傳送 LDAP 搜尋要求並接收回應的時間 (毫秒)。

平均應該低於 50 毫秒。尖峰 (最大值) 不應該高於 100 毫秒。

 

MSExchange ADAccess Processes(*)\LDAP Read Time

顯示將 LDAP 讀取要求傳送至指定的網域控制站並接收回應的時間 (毫秒)。

平均應該低於 50 毫秒。尖峰 (最大值) 不應該高於 100 毫秒。

 

MSExchange ADAccess Processes(*)\LDAP Search Time

顯示傳送 LDAP 搜尋要求並接收回應的時間 (毫秒)。

平均應該低於 50 毫秒。尖峰 (最大值) 不應該高於 100 毫秒。

 

MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute

顯示最後一分鐘傳回 LDAP_Timeout 的 LDAP 搜尋數目。

所有角色都應該永遠低於 10。高的值表示是 Active Directory 資源問題。

 

MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min

顯示此網域控制站上每分鐘所需時間較指定閾值長的 LDAP 作業數目 (預設閾值為 15 秒)。

應該永遠小於 50。

高的值表示是 Active Directory 資源問題。

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。