可用的分頁表項目達到警告閾值

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

上次修改主題的時間: 2009-09-14

Microsoft® Exchange Server Analyzer 工具會查詢 Win32_PerfRawData_PerfOS_Memory Microsoft Windows® Management Instrumentation (WMI) 類別,以判定 FreeSystemPageTableEntries 物件目前的值。如果 FreeSystemPageTableEntries 的值超過 5000 但小於或等於 8000,將會顯示警告。

不管安裝的實體 RAM 是多少,Microsoft Windows Server™  2003 及 Windows  2000 Server 最多可以直接定址 4  GB 的記憶體位址空間。從處理程序的角度來看,在觀念上,虛擬位址的每一個元素都可以指向實體記憶體的一個位元組。將每一個虛擬位址轉換或對應到相對應的實體位址,是虛擬記憶體管理員 (VMM) 和處理器記憶體管理單位 (MMU) 兩者的共同責任。VMM 執行對應的方式,是將 RAM 劃分為固定大小的頁面框架,然後建立一些系統分頁表項目 (PTE),來儲存和這些頁面框架有關的資訊,並進行對應。系統 PTE 是指記憶體的一些小型核心模式緩衝區,用來和磁碟 I/O 子系統及網路進行通訊。每一個 PTE 代表一個頁面框架,且包含 VMM 尋找頁面所需的資訊。

在使用 4 KB 分頁大小的 x86 型系統上,對映 2 GB 位址空間需要的最大 PTE 數目是 524288 (2 GB/4 KB) 個。在使用 /3GB 參數的類似系統上,要對映 3 GB 位址空間所需要的 PTE 數目是 786432 (3 GB/4 KB) 個。在一般的系統上,此空間的用法如下:

  • 最多保留 50000 個 PTE (大約 195 MB 位址空間) 供一般用途。
  • 其餘用於對應系統快取、Hyperspace、分頁集區、未分頁集區、損毀傾印區域等。

此 PTE 集區大小是在系統啟動時,依據系統中的實體記憶體數量自動決定。這個集區會夾在分頁集區和未分頁集區之間,也會隨著系統中的實體記憶體數量而成長。

系統 PTE 集區久而久之會變得使用過度,並且嚴重分散。這種情況會導致驅動程式無法載入的情形。同時,如果系統 PTE 集區完全耗竭,系統的其他部分會跟著降級,甚至於導致無法建立執行緒、系統停機以及可能的系統當機。

狀況良好的 Exchange Server 電腦應該至少隨時有 8,000 個系統 PTE 可供使用。若可用的系統 PTE 數目降到低於 5,000,系統將會顯示可用分頁表項目處於嚴重閥值中所描述的錯誤。當可用的系統 PTE 數目降到低於 8,000,但仍在 5,000 以上時,將顯示此警告。

若要解決這個問題,您可以使用隨後的程序,針對 Exchange Server 電腦的作業系統來適當設定 SystemPages 登錄值。在 RAM 有 1  GB 以上的 Windows Server  2003 上執行 Exchange Server  2003 Service Pack 1  (SP1) 時,建議您將 SystemPages 登錄機碼設定為 0。這項建議與 Windows 2000 Server 的建議不同,後者建議將 SystemPages 的值設為 31000 (十進位)。

執行下列程序之後,請監視可用的系統 PTE 數目。您可以使用 [Windows 系統監視器] (亦稱為 [效能監視器]) 來監視記憶體 | 可用的系統分頁表項目效能計數器,以執行這個動作。根據本文變更登錄之後,如果可用的系統 PTE 數目仍然很低,請檢查下列項目來確定 Exchange Server 電腦已完成最佳化設定:

  • 驅動程式   驅動程式故障是造成低系統 PTE 最常見的原因之一。請連絡您的硬體製造商,來確定全部硬體都使用最新的驅動程式。有時也許可以降級為使用較基本的驅動程式。例如,電腦若執行如 Exchange Server 之類的伺服器型應用程式,通常不需要使用包含所有功能的最進階視訊驅動程式。只要使用較基本的驅動程式就已夠用。從進階的視訊驅動程式切換為基本的視訊驅動程式,應該就會提高可用的系統 PTE 數目。
  • 系統組態   如果您的 Windows Server 2003 系統安裝 1 GB 以上的實體記憶體,您應該檢查以確定其 Boot.ini 檔案已正確地設定 /3GB 及 /USERVA=3030 參數,內容詳見 Microsoft 知識庫文章 823440<在 Windows Server 2003 型的系統上安裝 Exchange Server 2003 時,必須使用 /3GB 參數>(英文) (http://go.microsoft.com/fwlink/?linkid=3052&kbid=823440) 及<XADM:在 Windows Server 2003 型的 Exchange Server 上使用 /Userva 參數>(英文) (http://go.microsoft.com/fwlink/?linkid=3052&kbid=810371)。
  • 事件日誌   檢查 Exchange 伺服器的應用程式事件日誌是否有錯誤及警告,尤其是 MSExchangeIS 事件 9582 (錯誤及警告)、9665 (警告) 及 12880 (錯誤)。事件 9665 也可能指出 SystemPages 未達到最佳效能的設定。如需這些事件的相關資訊,請參閱知識庫文章 324044<HOW TO:疑難排解 Exchange 2003 及 Exchange 2000 的虛擬記憶體分散>(英文) (http://go.microsoft.com/fwlink/?linkid=3052&kbid=325044)
important重要事項:
此文章包含和編輯登錄有關的資訊。在編輯登錄之前,請確定若發生問題,您知道如何還原登錄。如需還原登錄的相關資訊,請參考 Regedit.exe 或 Regedt32.exe 中的<還原登錄>說明主題。

  1. 開啟登錄編輯程式,例如 Regedit.exe 或 Regedt32.exe。

  2. 瀏覽至:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. 在右窗格中,連按兩下 [SystemPages]。

  4. 在 [數值資料] 欄位中,輸入十進位值 31000 (31000 是十六進位的 7918 之十進位表示法。Regedit.exe 則預設為十六進位值),然後按一下 [確定]。

  5. 關閉登錄編輯程式,然後重新啟動電腦,以使變更生效。

  1. 開啟登錄編輯程式,例如 Regedit.exe 或 Regedt32.exe。

  2. 瀏覽至:HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. 在右窗格中,連按兩下 [SystemPages]。

  4. 在 [數值資料] 欄位中,輸入 0,然後按一下 [確定]。

  5. 關閉登錄編輯程式。

  6. 以滑鼠右鍵按一下 [我的電腦],然後按一下 [內容]。即會出現 [系統內容] 對話方塊。

  7. 按一下 [進階]。

  8. 在 [啟動及修復] 區域中,按一下 [設定]。即會出現 [啟動及修復] 對話方塊。

  9. 在 [系統啟動] 區域中,按一下 [編輯]。這樣會用 [記事本] 開啟 Windows Boot.ini 檔。

  10. 檢閱 [作業系統] 區段。

    1. 若存在的參數為 /3GB 而非 /USERVA=3030,請將 /USERVA=3030 參數新增到啟動列,以使其設定為 /3GB /USERVA=3030
    2. 若已設定 /3GB /USERVA=3030 參數,請將 /USERVA 參數值變更為 /USERVA=2970
  11. 儲存變更並結束 [記事本]。

  12. 按兩次 [確定] 關閉開啟的對話方塊,然後重新啟動電腦使變更生效。

編輯登錄之前,如需如何編輯登錄的相關資訊,請參閱 Microsoft 知識庫文章 256986<Microsoft Windows 登錄說明>(http://go.microsoft.com/fwlink/?linkid=3052&kbid=256986)。

如需最佳化 Exchange Server 記憶體的相關資訊,請參閱下列知識庫文章:

 
顯示: