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位,反正基本程序游戏都能运行