Windows Server 2003的32位企業版支援4G以上記憶體

來源:互聯網
上載者:User

很多朋友是為了使用4G以上的記憶體才安裝了WINDOWS2003企業版,可是裝好了之後卻發現系統所使用的記憶體只有3G多,是不是WINDOWS2003企業版32位,不支援大於4G以上的內在。其實不是。“newswan”發的文章很好,對於英文不好的朋友,完全看明白還是有點難度的。下面,簡單給大家提供一點參考,2003是支援4G以上的記憶體的,但是在預設的情況受32位的限制,不能使用4G以上的記憶體,要想完全使用4G以上記憶體就要靠PAE和AWE來解決32 位作業系統所固有的4G範圍的記憶體使用量限制。
PAE即實體位址延伸,Windows 2003 記憶體管理器使用 PAE 向程式提供更多的實體記憶體。程式本身並不知道實際的記憶體大小。所有的記憶體管理和 PAE 記憶體配置都由記憶體管理器處理,與啟動並執行程式無關。
AWE即地址視窗化擴充,是記憶體管理器功能的一套API (API),它使程式能夠定址更多記憶體 — 超過標準 32 位定址的 4 GB 記憶體空間。
對於PAE和AWE要注意的是:PAE即實體位址延伸是Windows 2003 記憶體管理器的一項功能,也就是說其是基於系統的,而AWE即地址視窗化擴充是一套API (API)。
在 Windows Server 2003 中,當伺服器使用熱插拔記憶體裝置時,會自動啟用 PAE。而對於我們普通人來說不可能會使用價格高昂的伺服器機器,必須在 Boot.ini 檔案中使用 /PAE 開關來利啟用 PAE。使用大於 4GB 的記憶體。
以下是一個 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

一台新伺服器,記憶體配置有4GB,開機也正確顯示4G,但安裝了WIN2003SP1以後,系統顯示只有3.37G,原以為記憶體有硬體故障,後經檢查,按如下做。
1.開啟系統中的大記憶體支援(windows)
    若要啟用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支援
大於4GB的實體記憶體,必須將參數 /pae 添加到 boot.ini 檔案中。
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect
改為
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect /PAE
這個改好後,要重啟系統的
2.啟用鎖定記憶體頁選項(windows)
啟用鎖定記憶體頁選項
在"開始"菜單上單擊"運行"子功能表,然後在"開啟"框中鍵入"gpedit.msc"。
在"組策略"控制台上,展開"電腦配置",然後展開"Windows 設定"。
展開"安全設定",然後展開"本地策略"。
選擇"使用者權限分配"複選框。
詳細資料窗格中隨即顯示出策略。
在詳細資料窗格中,雙擊"鎖定記憶體頁"。
在"本地安全性原則設定"對話方塊中,單擊"添加"按鈕。
在"選擇使用者或組"對話方塊中,添加有權運行 sqlservr.exe 的帳戶。

3.啟用SQL的AWE
    若要啟用 AWE,請將 awe enabled 設定為 1。除非指定了 max server memory 的值,否
則 SQL Server 將保留幾乎所有可用記憶體,只留下 128 MB 或更少。

    如果已成功啟用該選項,則當 SQL Server 2000 執行個體啟動時,SQL Server 錯誤記錄檔中將
出現"已啟用地址視窗擴充"這條訊息。

    awe enabled 是進階選項。如果正在使用 sp_configure 系統預存程序更改該設定,則只有
當 show advanced options 設定為 1 時才能更改 awe enabled。
code 如下,設定SQL 使用6G的記憶體
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
必須重新啟動 SQL Server 2000 執行個體才能使更改生效。
net stop mssqlserver
net start mssqlserver
這樣,SQL 服務啟動後,就會把6G的記憶體給鎖定,完全供SQL使用
    僅 Windows 2000 Datacenter Server、 Windows 2000 Advanced Server、Windows Server 2003、Enterprise Edition 和 Windows Server 2003 Datacenter Edition 支援 PAE。 在 32 位 Windows 中,預設情況下將禁 用 PAE,並且必須在 BOOT.INI 檔案中設定 /pae 引導參數才可啟用 PAE
    為什麼要這樣做呢,因為32位的系統只能定址到4G的記憶體空間,通過修改BOOT檔案 可以把其餘記憶體做為可擴充實體記憶體 但是如果自己記憶體剛好為4G的話 就不建議修改了 效果不是很理想
    硬體支援最大的記憶體容量可以這麼算:支援最大記憶體容量=2的N次方位。
    32位硬體支援的最大記憶體容量換算下來就是2的32次方,換算下來就是4G,64位硬體支援的最大記憶體容量是2的64次方,換算下來就是16EB=16*1024PB=16*1024*1024TB=16*1024*1024*1024GB。

作業系統記憶體支援
Windows
    WindowsNT4.0 Server與Enterprise版都屬於32位伺服器作業系統,支援最大記憶體都只有4G 。
  Windows2000系列伺服器版作業系統可支援容量最高的是資料中心版,可支援32G;進階伺服器版只支援最高8G的記憶體容量;2000普通伺服器版只支援最高4G的記憶體容量。
  Windows2003Enterprise支援最高32G的記憶體。
  新推出的64位Vista最高版本支援最大128G記憶體。
Linux
  Linux的Kernel核心屬於32位,也只支援最大4G記憶體。
  Linux的Bigmem和Smp核心,屬於64位作業系統,可支援最大64G記憶體。
   一些作業系統在核心代碼中限制了記憶體位寬,所以就算是64位作業系統,不同的版本在預設情況下,也都只支援特定的最大記憶體容量,需要進行PAE擴充設定 以達到最大支援的記憶體容量。比如在Windows2003Enterprise中,如果直接插入4G記憶體,不進行任何更改,那系統辨認出來的實體記憶體可能 只有3G出頭,需要在系統引導檔案裡設定pae記憶體擴充支援。
    x86的32架構允許的最大記憶體定址空間為4GB。Intel Physical Address Extension(PAE)是36位記憶體定址模式,允許32系統定址能力超過4GB。

    PAE需要適當的硬體和作業系統支援。處理器為Intel Pentium Pro以上,作業系統支援Windows NT 4.0企業版,Windows 2000進階伺服器版和資料中心版,以及Windows Server 2003企業版和資料中心版。

    Windows使用PAE的4KB頁面映射64GB實體記憶體到32位(4GB)虛擬位址空間。Windows 2000和Windows Server 2003中允許PAE的方式是在BOOT.INI中加/PAE開關。
    Address Windows Extensions(AWE)是Windows APIs的一個集,可以從PAE方式獲益,讓應用程式可以直接存取超過4GB的實體記憶體。一些程式如SQL Server 2000企業版,使用了這些API來編寫,可以在每個處理器的記憶體定址超過2G時獲得很大效能提升。
編輯BOOT.INI檔案啟用PAE的方法如下:
開啟控制台中的系統
選擇進階
在啟動和恢複頁點擊設定按鈕
點擊編輯,記事本開啟BOOT.INI檔案
編輯ARC路徑並在後面添加/PAE開關

 

 1、理論上32位系統理論上只能支援最高4G記憶體嗎。
答:看起來是這樣沒錯,但微軟已經告訴我們事實並非如此——企業版、資料中心版的Windows分別支援最大32G和64G記憶體。

2、我的電腦有4G記憶體,可為什麼系統告訴我記憶體只有3.x G。
答:由於部分主板晶片集將其他硬體的物理地址映射在4G記憶體位址內進行管理,使得這些電腦通常能識別並使用最大記憶體容量在3.25-3.75G之間。如果要讓系統識別出完整的4G記憶體,你的主板必須支援一種叫做“PAE(實體位址延伸)”的技術。

3、我的主板支援PAE,為什麼還是無法使用全部的4G記憶體。
答:這是因為作業系統的限制,目前32位的Windows裡,只有伺服器版本(2003/2008)支援4G或以上的記憶體(Windows Server 2003 Web版只支援2G記憶體),並且需要在系統的啟動項末尾添加/PAE選項(在boot.ini中編輯)。

4、32位系統下,單個進程能夠訪問的記憶體最大是多少。
答:32位Windows作業系統下單個進程使用者模式記憶體訪問的限制是2G,如果在boot.ini中設定了/3G開關,則最大為3G,超過3G將無法訪問。

5、如何讓單個進程訪問大於2G/3G的記憶體。
答:32位作業系統下只有通過 AWE的方式來擴充記憶體。AWE (Address Windowing Extensions)是 Windows 的記憶體管理功能的一組擴充,它使應用程式能夠使用的記憶體量超過通過標準 32 位定址可使用的 2-3 GB 記憶體。AWE 允許應用程式擷取實體記憶體,然後將非分頁式記憶體的視圖動態映射到 32 位地址空間。雖然 32 位地址空間限制為 4 GB,但是非分頁式記憶體卻可以遠遠大於 4 GB。這使需要大量記憶體的應用程式(如大型資料庫系統)能使用的記憶體量遠遠大於 32 位地址空間所支援的記憶體量。


Windows各版本支援的記憶體容量(實體記憶體)
Windows各版本支援的記憶體容量(實體記憶體)
Windows 2000 資料中心版:32G
Windows 2000 進階伺服器版:8G
Windows 2000 專業版:4G
Windows Server 2003 32位 Web版:2G
Windows Server 2003 32/64位 標準版:4G/32G
Windows Server 2003 32/64位 企業版:32G/1TB
Windows Server 2003 32/64位 資料中心版:64G/1TB
Windows XP/Vista 32位:<4G
Windows XP 64位:32G
Windows Vista 64位:128G
Server2008 R2沒有32位版本
老版支援:
最大記憶體(32-bit): 4GB RAM (標準版)或 64GB RAM(企業版和資料中心版)
最大記憶體(64-bit): 32GB RAM (標準版)或 2TB RAM(企業版,資料中心版和Itanium-Based版)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.