SystemPages 設定太高

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

上次修改主題的時間: 2006-03-13

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

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

如果 Exchange Server Analyzer 發現 SystemPages 的值大於 50000,就會顯示一則警告。

不管安裝的實體 RAM 是多少,Microsoft Windows Server™ 2003 及 Microsoft 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 集區完全耗竭,系統的其他部分會跟著降級,甚至導致無法建立執行緒、系統停滯以及系統當機等問題。

為了防止系統 PTE 集區嚴重分散,您一定要針對 Exchange Server 電腦的作業系統,適當地設定 SystemPages 登錄值。在 Windows Server 2003 上執行 Exchange Server 時,建議您將 SystemPages 登錄機碼設為 0。這項建議與 Windows 2000 Server 的建議剛好相反,Windows 2000 Server 建議將 SystemPages 設為介於 2400031000 之間的值。

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

  • 驅動程式 驅動程式故障是造成系統 PTE 低的最常見原因。此外,已知 S3 Savage 4 視訊卡驅動程式的某些版本已將 SystemPages 設為 208896。此驅動程式常見於 IBM E-Series 伺服器上。請洽詢您的硬體製造商,確定您的硬體使用的是最新的驅動程式。有時也許可以降級為使用較基本的驅動程式。例如,電腦若執行如 Exchange Server 之類的伺服器型應用程式,通常不需要使用包含所有功能的最進階視訊驅動程式。只要使用較基本的驅動程式就已夠用。從進階的視訊驅動程式切換為基本的視訊驅動程式,應該就會提高可用的系統 PTE 數目。
  • 系統組態 如果 Windows Server 2003 系統安裝了 1 GB 或更多的實體記憶體,您應該進行檢查以確定其 Boot.ini 檔案已正確設定 /3GB 及 /USERVA=3030 參數,如下列微軟知識庫文件中所述:
  • 事件日誌 檢查 Exchange Server 上的應用程式事件日誌內是否有出現錯誤及警告,特別是 MSExchangeIS 事件 9582 (錯誤及警告)、9665 (警告) 以及 12880 (錯誤)。出現事件 9665 也可能表示 SystemPages 沒有設定為最佳效能。若需有關這些事件的詳細資訊,請參閱知識庫文件 - 325044<HOW TO:疑難排解 Exchange 2003 及 Exchange 2000 的虛擬記憶體分散>(英文) (https://go.microsoft.com/fwlink/?linkid=3052&kbid=325044)
important重要事項:
這篇文章包含和編輯登錄有關的資訊。在編輯登錄之前,請確定若發生問題時,您知道如何還原登錄。若需有關還原登錄的詳細資訊,請參考 Regedit.exe 或 Regedt32.exe 中的<還原登錄>說明主題。

若要在 Windows 2000 Server 上變更 SystemPages 的值來更正此警告

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

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

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

  4. 在 [數值資料] 欄位中,輸入介於 2400031000 之間的值 (十進位),再按一下 [確定]。如果您不確定要使用哪一個值,我們建議使用 31000 (十進位)。

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

若要在 Windows Server 2003 上變更 SystemPages 的值來更正此警告

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

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

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

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

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

若要更新或降級視訊驅動程式來更正此警告

  • 執行下列其中一個動作:

    • 連絡您的硬體製造商,來取得未設定 SystemPages 設定之更新的視訊驅動程式。
    • 將視訊驅動程式降級為標準 VGA 驅動程式,然後依上述內容來更正 SystemPages 值。

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

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