Windows 7 中的物理內存限制
Windows 7有6個主要版本,分別是Windows 7 Starter(簡易版),Windows 7 Home Basic(家庭普通版),Windows 7 Home Premium(家庭高級版),Windows 7 Professional(專業版),Windows 7 Enterprise(企業版),Windows 7 Ultimate(旗艦版)。
通過撥打微軟中國客服電話(免費電話800-820-3800 付費電話400-820-3800)諮詢微軟客服人員和在微軟官網查詢,我們得知:
32位Windows 7的除了簡易版僅支持2GB內存外,其他版本均支持4GB內存,但32位的Windows 7實際可利用的最大內存只有3.25GB左右。
64位的Windows 7家庭普通版能支持8GB內存,家庭高級版能支持16GB內存,而64位的Windows 7專業版、企業版和旗艦版最高可支持192GB內存。
下表規定了不同 Windows 7 版本對物理內存的限制。
Version | Limit on X86 | Limit on X64 |
---|---|---|
Windows 7 Ultimate | 4 GB | 192 GB |
Windows 7 Enterprise | 4 GB | 192 GB |
Windows 7 Professional | 4 GB | 192 GB |
Windows 7 Home Premium | 4 GB | 16 GB |
Windows 7 Home Basic | 4 GB | 8 GB |
Windows 7 Starter | 2 GB | N/A |
Windows 8 中的物理內存限制
Windows 8有3個主要版本,分別是Windows 8(標準版),Windows 8 Professional(專業版),Windows 8 Enterprise(企業版)。
32位Windows 8的所有版本均支持4GB內存,但32位的Windows 8實際可利用的最大內存只有3.25GB左右。
64位的Windows 8標準版能支持128GB內存,64位的Windows 7專業版和企業版可支持512GB內存。
下表規定了不同 Windows 8 版本對物理內存的限制。
Version | Limit on X86 | Limit on X64 |
---|---|---|
Windows 8 Enterprise | 4 GB | 512 GB |
Windows 8 Professional | 4 GB | 512 GB |
Windows 8 | 4 GB | 128 GB |
Windows 10 中的物理內存限制
Windows 10有4個主要版本,分別是Windows 10 Home(家庭版),Windows 10 Pro(專業版),Windows 10 Education(教育版),Windows 10 Enterprise(企業版)。
32位Windows 10的所有版本均支持4GB內存,但32位的Windows 10實際可利用的最大內存只有3.25GB左右。
64位的Windows 10家庭版能支持128GB內存,64位的Windows 10專業版、教育版和企業版可支持2TB內存。
下表規定了不同 Windows 10 版本對物理內存的限制。
Version | Limit on X86 | Limit on X64 |
---|---|---|
Windows 10 Enterprise | 4 GB | 2TB |
Windows 10 Education | 4 GB | 2TB |
Windows 10 Pro | 4 GB | 2TB |
Windows 10 Home | 4 GB | 128GB |
為什麼Windows 7/8/10的32位版不能支持4GB以上內存呢?
32位系統使用32位地址線的最大尋址空間為2的32次方bytes,計算後即4294967296 Bytes,也就是我們常說的4096MB,32位地址線的尋址空間封頂即為4GB。但是,雖然系統能夠識別4096MB,我們還是不能完全使用它,這是因為還有內存映像輸入/輸出(Memory-Mapped Input Output)作怪,我們的系統中除了CPU和內存佔據尋址空間外,還有顯卡也需佔用尋址空間,這就是為什麼32位系統不能全部調用內存的原因,32位Windows 7/8系統支持的最大內存事實上只有3.25GB左右。
這裡要糾正一個常識錯誤:32位系統不能使用大於4G的內存。早在16位系統上,系統可使用的內存就遠遠大於64KB(2的16次方bytes)了,這是因為採用了內存分段和20位地址線,最大尋址空間為2的20次方bytes,即1MB。那麼在32位系統上,32位CPU使用36位地址線的最大尋址空間為2的36次方bytes,也就是64GB。32位Linux系統早就直接支持4G以上的內存。Windows系統因為微軟的人為限制,不允許32位系統使用大於4G的內存。
如果啟用PAE(Physical Address Extension),32位Windows就可以使用超過4GB的內存,比如Windows Server 2003/2008 Enterprise/Datacenter X86(32bit)可以支持最大64GB內存(16 GB with 4GT)。所以在當前x86架構中,通過ReadyFor4G直接修改Windows內核(使用36位地址線),32位Windows最多可以使用64GB的內存。不過,這個方法也有很多限制,32位Windows的每個進程最大可用內存被限制在4GB之內,一些不規範的驅動程序不能支持大於4G的內存,會導致系統崩潰。
64位系統使用64位地址線的最大尋址空間為2的64次方bytes,計算後其可尋址空間達到了驚人的18446744073709551616 Bytes,即16384PB(PebiByte)=16777216TB(TebiByte),但是,很多64位CPU使用40位地址線,最大尋址空間僅為1TB,加之別的種種原因,目前Windows 7 64位版最大僅能使用192GB內存,Windows 8 64位版最大僅能使用512GB內存。
微軟官方文檔:《Windows 7 的物理內存限制》和《Memory Limits for Windows Releases》
CPU的位數和地址線
所謂多少位CPU,最準確的定義是指CPU內部通用寄存器的位寬。
比如8088,16位通用寄存器,8位數據線,20位地址線,它是16位CPU;
8086,16位通用寄存器,16位數據線,20位地址線,它是16位CPU;
又比如Pentium Pro或者Pentium II,32位通用寄存器,64位浮點寄存器,64位數據線,36位地址線,它是32位CPU。
用比較少位數的寄存器確定較多位地址的時候會多一重轉換,稍微麻煩一點,也慢一點。
8086用16位尋址20位叫做分段尋址,要多一次移位加的操作;Pentium Pro/II/III/4 等32位尋址36位叫做PAE36尋址,更慢。
使用PAE40技術的Intel x86-64 CPU是40位地址線,使用PAE48或PAE52技術的AMD x86-64 CPU是48位或52位地址線。目前沒有64位地址線的CPU,原因很簡單,就是現在還用不着這麼多地址線(而且過大的虛擬地址空間需要更多級的分頁,這會導致硬件更複雜,尋址速度更慢)。
應該是16384PB(PebiByte)。
2^64計算之後可不止16384GB吧?
通過各種破解方式使32位win系統支持4GB以上內存的方式會造成系統不穩定,個人不推薦。
據說有人在win7上成功運行支持pae的windows內核
其實32位x86芯片完全可以通過PAE技術支持大內存,windows2003,就可以支持32G內存,linux也一樣,因為x86硬件本身就支持的,但m$因為各種原因不允許工作站版的OS支持PAE,所以就造成了現在的現實。
所以正要配的機器,使用單根4G內存,直接上win7 64位,反正基本程序遊戲都能運行