處理器瓶頸

[本主題的目的是要說明 Exchange Server Analyzer 工具所引出的特定問題。您只應將它套用到已執行過 Exchange Server Analyzer 工具且有遇到該特定問題的系統。Exchange Server Analyzer 工具可免費下載,它會從拓撲中的每台伺服器遠端收集組態資料,並自動分析該資料。產生的報告會詳述重要的組態問題、潛在問題及非預設的產品設定。遵循這些建議,您便能達到較佳的效能、延展性、可靠性及執行時間。如需此工具的相關資訊或是要下載最新版本,請參閱 Microsoft Exchange Analyzer (https://go.microsoft.com/fwlink/?linkid=34707)。]  

上次修改主題的時間: 2006-02-24

Microsoft® Exchange Server Analyzer 工具已識別出您的伺服器遇到 CPU 瓶頸。您的伺服器 CPU 使用率已超過建議的閾值。用來識別處理器瓶頸或處理器使用問題的計數器包含:

  • [系統] 效能物件下的 [Context Switches/sec] 效能計數器。
  • [處理器] 效能物件下的 [% Processor Time (_Total)] 效能計數器。
  • [系統] 效能物件下的 [Processor Queue Length] 效能計數器。

偵測處理器瓶頸

如果達到下列其中一個條件,則 Exchange Server Analyzer 會偵測到瓶頸:

  • [處理程序] 效能物件下的 [% Processor Time (_Total)] 效能計數器平均值大於 70%。
  • [處理程序] 效能物件下的 [% Processor Time (_Total)] 效能計數器最大值大於 90%。
  • [系統] 效能物件下的 [Context Switches/second] 效能計數器平均值大於 20,000。
  • [系統] 效能物件下的 [Processor Queue Length] 效能計數器大於 2。
  • [處理器] 效能物件下的 [% Processor Time (_Total)] 效能計數器提供處理器的整體使用情況。平均 CPU 使用應恆小於 80%。平均值更高,則表示有處理器瓶頸。如果平均處理器使用高於 70%,則會顯示警告。處理器時間高於 90% 的經常性尖峰值也表示有處理器瓶頸。
  • [系統] 效能物件下的 [Processor Queue Length] 效能計數器指出處理器佇列中的執行緒數目。處理器時間有單一佇列,即使在多處理器的電腦上亦然。數目若大於 2,則表示執行緒正在等候處理器時間且有處理器瓶頸。

判別處理器負載來源

若發現處理器瓶頸,必須辦別大部分 CPU 使用的來源。在 Exchange 後端伺服器上,大部分 CPU 使用的來源應為 Store.exe 處理程序。如果 CPU 使用有 20% 以上是來自 Store.exe 以外的處理程序,建議您找出其他有哪些處理程序在消耗 CPU 使用。

如果列於下表之處理程序的 CPU 使用大於閾值,則 Exchange Server Analyzer 會顯示錯誤。

處理程序 [處理程序] 效能物件下的 [%Processor Time] 效能計數器閾值

儲存區

90%

Inetinfo

20%

Emsmts

40%

Lsass

40%

System

40%

Mad

40%

ExMGMT

20%

W3WP

40%

Exchange Server Analyzer 也會測量由 [處理程序] 效能物件下 [%Processor Time] 效能計數器 ([Idle] 執行個體) 及 [%Processor Time] 效能計數器 ([_Total] 執行個體) 所測量之閒置處理器時間的差異。在狀況良好的 Exchange 後端伺服器上,使用中的處理器時間至少應有 70% 是用於 Store.exe 處理程序。

在下列情況中,Exchange Server Analyzer 即會顯示錯誤:

  • 如果不是用於 Exchange 伺服器相關處理程序 (Store.exe、inetinfo.exe、emsmta.exe、lsass.exe、w3wp.exe、exmgmt.exe 或 mad.exe 處理程序) 的處理器時間量高於 35%。
  • 如果非 Exchange 相關處理器時間大於 20%。
  • 如果有處理器瓶頸,且用於 Store.exe 處理程序的處理器時間小於 70%。

在這些情況中,建議您找出其他有哪些處理程序在耗用伺服器的 CPU 時間。

後端伺服器上處理器瓶頸的常見原因

效能瓶頸有許多可能的原因,包括:

  • 伺服器上其他應用程式耗用 CPU 使用
  • 高 RPC 率
  • 通訊群組清單延伸
  • 在尖峰作業期間執行備份及維護
  • 下列狀況造成的郵件內容轉換:
    • 執行多個通訊協定 (例如 HTTP、POP3、IMAP4、Microsoft Office Outlook®)
    • 使用離線資料夾 (.ost 檔) 的 Outlook 2000 或更早的版本

排除處理器瓶頸

有許多方式可從 Exchange 伺服器排除處理器瓶頸。

若要排除處理器瓶頸

  • 可能的話,在伺服器中加入更多或更快的處理器。另外,如果處理器支援的話,請啟用超執行緒。您可以設定系統 BIOS 來啟用超執行緒。若需相關資訊,請參閱電腦製造商的說明文件。

  • 如果提升處理能力不是可行的選項,則必須降低處理器上的負載。若要降低對伺服器的整體影響,建議您確認 I/O 密集、CPU 密集或消耗記憶體的工作是在正常操作期間之外的時間執行。

    首先,識別哪些應用程式或工作造成伺服器上的負載。如果非 Exchange 應用程式對該伺服器不重要,請在其他伺服器上執行該應用程式。可能的話,也請將伺服器角色移至其他電腦。例如,若 Inetinfo 處理程序耗用大量 CPU 使用,請考慮增加前端伺服器,以擔負 Inetinfo 執行之通訊協定工作的責任。您也可將公用資料夾存取移至專用的公用資料夾伺服器。最後,如果伺服器執行大量通訊群組清單延伸,可以將通訊群組清單延伸移至專用的通訊群組清單延伸伺服器,以降低 CPU 使用。

  • 請確定 CPU 密集的工作 (如備份及維護工作) 是在離峰時間執行。也請確定這些工作是以經過安排的方式執行。安排工作的意思是為每個工作設定不同的開始時間,並最好設定結束時間。安排資料庫或儲存群組的維護及備份也可減少這些資源密集工作的影響。

  • 如果您移除所有選擇性的負載來源之後,CPU 使用仍然太高,則必須將使用者移至其他伺服器以減少負載。若需詳細資訊,請參閱將使用者信箱移至其他伺服器

詳細資訊