[zt] 如何使作業系統使用超過4G的記憶體

tolywang發表於2009-02-25
         介紹實體地址擴充套件 (PAE) 和地址視窗化擴充套件 (AWE) 並解釋它們如何協同工作。還將討論超出 32 位*作系統所固有的 4 GB 範圍的記憶體使用限制。 PAE 提高了 IA32 處理器處理大於 4 GB 的實體記憶體的能力。Microsoft Windows 2000 Advanced Server、Microsoft Windows 2000 Datacenter Server、Microsoft Windows Server 2003 Enterprise Edition 和 Microsoft Windows Server 2003 Datacenter Edition 可以使用 PAE 來利用超出 4GB 的實體記憶體。若要啟用 PAE,需要在 Boot.ini 檔案中使用 /PAE 引數。 注意:只有在伺服器使用熱新增記憶體裝置時,Windows Server 2003 Enterprise Edition 和 Windows Server 2003 Datacenter Edition 才自動啟用 PAE。在這種情況下,不需要在配置為使用熱新增記憶體裝置的系統上使用 /PAE 開關。在其他情況下,必須在 Boot.ini 檔案中使用 /PAE 開關來利用大於 4GB 的記憶體。 典型情況是,在 Windows 2000 或 Windows Server 2003 下執行的程式最多可以訪問 2 GB 的記憶體地址空間(假設未使用 /3GB 引數),其中一些記憶體是實體記憶體,另一些是虛擬記憶體。執行的程式越多(因而程式也越多),佔用的記憶體地址空間也就越接近 2 GB 這一最大值。 當出現這種情況時,分頁程式將顯著增加並且會對效能產生負面影響。Windows 2000 和 Windows Server 2003 記憶體管理器使用 PAE 向程式提供更多的實體記憶體。這會降低對交換頁面檔案記憶體的需要,從而提高了效能。程式本身並不知道實際的記憶體大小。所有的記憶體管理和 PAE 記憶體分配都由記憶體管理器處理,與執行的程式無關。 當使用 /3GB 引數時,上述資訊對於執行的程式有效。要求 3 GB 記憶體的程式更有可能讓其所需的記憶體有更多部分在實體記憶體中,而不是在分頁的虛擬記憶體中。這將增強那些能夠使用 /3GB 引數的程式的效能。但例外情況是當 /3GB 引數與 /PAE 引數一起使用時。在這種情況下,*作系統將不使用任何超過 16 GB 的記憶體。此行為是由核心虛擬記憶體空間考慮導致的。因此,如果系統使用 Boot.ini 檔案中的 /3GB 項重新啟動,並且系統的實體記憶體超過 16 GB,則*作系統不使用額外的物理隨機存取記憶體 (RAM)。重新啟動計算機時如果不使用 /3GB 開關,將能夠使用所有的實體記憶體。 AWE 是記憶體管理器功能的一套應用程式程式設計介面 (API),它使程式能夠定址更多記憶體 — 超過標準 32 位定址的 4 GB 記憶體空間。AWE 使程式能夠將實體記憶體保留為非分頁記憶體,然後將非分頁記憶體部分動態對映到程式的記憶體工作集。此過程使記憶體密集型程式(如大型資料庫系統)能夠為資料保留大量的實體記憶體,而不必交換分頁檔案以供使用。相反,資料在工作集中進行交換,並且保留的記憶體超過 4 GB 範圍。此外,超出 4 GB 的記憶體範圍對記憶體管理器是公開的,並且 AWE 透過 PAE 發揮作用。沒有 PAE,AWE 就無法保留超出 4 GB 的記憶體。 以下是一個 Boot.ini 檔案的示例,其中已新增了 PAE 開關:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE
警告:Boot.ini 檔案的內容根據您的配置而異。 有關更多資訊,請單擊下面的文章編號,以檢視 Microsoft 知識庫中相應的文章:
317526 () 如何在 Windows Server 2003 中編輯 Boot.ini 檔案
總之,PAE 是 Windows 2000 和 Windows Server 2003 記憶體管理器的一項功能,它為請求記憶體的程式提供了更多實體記憶體。程式並不知道它正使用的記憶體中有些在大於 4 GB 的範圍內,正如程式不知道它請求的記憶體實際上是在頁面檔案中一樣。 AWE 是一個 API 集,它使程式能夠保留大記憶體塊。保留的記憶體是非分頁的,並且只可以由該程式來使用。 有關 AWE 和 PAE 的更多資訊,請單擊下面的文章編號,以檢視 Microsoft 知識庫中相應的文章:
268363 () Windows 2000 中的 Intel 實體地址擴充套件 (PAE)
有關更多資訊,請訪問下面的 Microsoft 網站:
()
html/awewindata.asp ( tml/awewindata.asp) 如果向系統新增更多記憶體,BIOS 可能會認出安裝在伺服器中的全部物理 RAM,而 Windows 將只能認出部分 RAM。如果伺服器具有啟用的冗餘記憶體功能或記憶體映象功能,則全部剩餘記憶體可能對 Windows 都不可見。冗餘記憶體在某個記憶體塊故障時為系統提供一個故障轉移的記憶體塊。記憶體映象將記憶體塊拆分為一個映象集。兩種功能都在 BIOS 中啟用或禁用,而無法透過 Windows 訪問。要修改這些功能的設定,您可能必須參考系統使用者手冊或 OEM 網站。另外,您可能必須聯絡硬體供應商。 例如,如果正在執行的系統安裝了 4GB 的 RAM,隨後又新增了另外 4GB 的 RAM,Windows 可能只識別出 4GB 或 6GB 的實體記憶體,而不是全部的 8GB。冗餘記憶體功能或記憶體映象功能可能在您未知的情況下就在新記憶體塊上啟用。這些症狀類似於未將 /PAE 開關新增到 Boot.ini 檔案時的症狀。
 
 
 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-557738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章