可用分頁表項目數過低,可能會導致系統不穩定

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

上次修改主題的時間: 2005-11-18

Microsoft® Exchange Server Analyzer 工具會讀取下列登錄項目,以判定 SystemPages 登錄值的設定:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages

如果 Exchange Server Analyzer 發現 SystemPages 的值設定為 0,且可用的系統分頁表項目 (PTE) 數目小於 3001,就會顯示警告。

不論安裝的實體 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 電腦應該至少隨時有 5000 個系統 PTE 可供使用。如果可用的系統 PTE 數降到 5000 以下 (但仍維持在 3001 以上),就會顯示可用的分頁表項目達到警告閾值中所述的警告。當可用的系統 PTE 數降到 3,001 個以下,就會顯示一則錯誤訊息。若要解決這個問題,可以依照下列程序,將 SystemPages 登錄值設定為適合您的 Exchange Server 電腦之作業系統。當您在安裝 1 GB 或更多 RAM 的 Windows Server 2003 上執行 Exchange Server 2003 Service Pack 1 (SP1) 時,建議您將 SystemPages 登錄機碼設為 0。這項建議與 Windows 2000 Server 的建議不同,後者建議將 SystemPages 設為介於 24,000 與 31,000 之間的值。

important重要事項:
這篇文章包含和編輯登錄有關的資訊。在編輯登錄之前,請確定若發生問題時,您知道如何還原登錄。若需有關還原登錄的詳細資訊,請參考 Regedit.exe 或 Regedt32.exe 中的<還原登錄>說明主題。

執行過以下說明的程序之後,您應該監視可用的系統 PTE 數。您可以使用 [Windows 系統監視器] (亦稱為 [效能監視器]) 來監視 Memory | Free System Page Table Entries 效能計數器,以執行這個動作。若在進行以下說明的登錄變更之後,可用的系統 PTE 數目依舊很低,您應該檢查下列事項,確定您的 Exchange Server 電腦已做最佳設定:

  • 驅動程式 驅動程式故障是造成系統 PTE 低的最常見原因。請洽詢您的硬體製造商,確定您的硬體使用的是最新的驅動程式。有時也許可以降級為使用較基本的驅動程式。例如,電腦若執行如 Exchange Server 之類的伺服器型應用程式,通常不需要使用包含所有功能的最進階視訊驅動程式。只要使用較基本的驅動程式就已夠用。從進階的視訊驅動程式切換為基本的視訊驅動程式,應該就會提高可用的系統 PTE 數目。
  • 系統組態   如果您的系統安裝 1 GB 以上的實體記憶體,您應該檢查以確定其 Boot.ini 檔案已正確地設定 /3GB 及 /USERVA=3030 參數,內容詳見下列微軟知識庫文件:
  • 事件日誌 檢查 Exchange Server 上的應用程式事件日誌內是否有出現錯誤及警告,特別是 MSExchangeIS 事件 9582 (錯誤及警告)、9665 (警告) 以及 12880 (錯誤)。出現事件 9665 也可能表示 SystemPages 沒有設定為最佳效能。若需有關這些事件的詳細資訊,請參閱知識庫文件 - 325044<HOW TO:疑難排解 Exchange 2003 及 Exchange 2000 的虛擬記憶體分散>(英文) (http://go.microsoft.com/fwlink/?linkid=3052&kbid=325044)

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

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

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

  4. 在 [數值資料] 欄位中,輸入介於 24000 與 31000 (十進位) 之間的值,然後按一下 [確定]。

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

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

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

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

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

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

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

若需有關最佳化 Exchange Server 記憶體的詳細資訊,請參閱下列知識庫文件:

 
顯示: