32位系统的X86到底能支持多大内存

简介:

微软最新Windows Server 2008 R2 \ 以及最新的Microsoft Office SharePoint ( MOSS ) 2010 \ Project Server 2010 \ Exchange 2010 \ Search Server 2010 等几乎全线主流服务器产品已经都不再提供32位的版本了,而且据说下一版的Windows 8也将只有64位版了,可以说64位时代已经真正来临了(尽管从80386时代(1985年)的16位到升级成32位起已经过去了25年,这在IT界已经像是几个世纪那么久了),但最近还是有一些客户在32位与64位选择之间纠结,所以把32位系统支持的最大内存给大家列一下,了解一下末日偷欢的32位系统大限到底在哪里。

32位的Windows 都使用 4 GB 的虚拟地址空间,其中 2 GB 分配给用户模式进程(例如应用程序),另外 2 GB 分配给内核模式进程(例如操作系统和内核模式驱动程序)。系统只能支持4G的物理内存大家是知道的,操作系统保留高位的2G寻址空间以保安全,每个独立应用程序所以寻址的虚拟内存地址是低位的2G,这个可能多数人也知道。

另外,有一些方法可以使X86的应用程序能访问更多的内存空间:

1.服务器版的Windows 2000 、Windows 2003 、Windows 2008等服务器端操作系统可以通过有与硬件相配套的PAE(Physical Address Extension)物理地址扩展来寻址额外的内存,如在boot.in中通过/PAE打开:

操作系统
支持 PAE 后的最大内存容量

Windows 2000 Advanced Server
8 GB 的物理 RAM

Windows 2000 Datacenter Server
32 GB 的物理 RAM

Windows XP (所有版本)
4 GB 的物理 RAM*

Windows Server 2003 (and SP1) Standard Edition
4 GB 的物理 RAM*

Windows Server 2003 Enterprise Edition
32 GB 的物理 RAM

Windows Server 2003 Datacenter Edition
64 GB 的物理 RAM

Windows Server 2003 SP1 Enterprise Edition
64 GB 的物理 RAM

Windows Server 2003 SP1 Datacenter Edition
128 GB 的物理 RAM
 


2.同时服务器版的Windows 2000 、Windows 2003 、Windows 2008等也可以通过打开启动选项的3GB开关(如在boot.ini中/3GB),使单进程的寻址空间达到3G,比未设置的2G多出来1G,不少服务器的应用性能,确实能提升不少(50%)

3.某些特殊的应用有一些绕开操作系统使用内存的绝活,比如Microsoft SQL Server 企业版(2000 2005 2008的32位版都支持)的地址窗口化扩展插件 AWE(Address Windowing Extensions )技术,内存上限与PAE大同小异。

说完了X86转头说说X64,尽管有说法当前的x64并非真正使用64位的地址总线,而是48位,所以内存上限是 2^48。尽管如此,X64内存寻址空间最高可达16TB,而在相关操作系统及处理器搭配之下,应用程序可使用之寻址空间可达8TB,不仅能对诸多应用程序的开发与编译,产生立即而明显的效益,对于一般使用者而言,能够在x86架构的应用向下兼容(绝大多数)的基础上,从而获致使用效率的大幅提升,实在是最有价值的解决方案。










本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/1039978,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
132 48
|
18天前
|
机器学习/深度学习 人工智能 缓存
【AI系统】推理内存布局
本文介绍了CPU和GPU的基础内存知识,NCHWX内存排布格式,以及MNN推理引擎如何通过数据内存重新排布进行内核优化,特别是针对WinoGrad卷积计算的优化方法,通过NC4HW4数据格式重排,有效利用了SIMD指令集特性,减少了cache miss,提高了计算效率。
35 3
|
21天前
|
监控 Java Android开发
深入探索Android系统的内存管理机制
本文旨在全面解析Android系统的内存管理机制,包括其工作原理、常见问题及其解决方案。通过对Android内存模型的深入分析,本文将帮助开发者更好地理解内存分配、回收以及优化策略,从而提高应用性能和用户体验。
|
22天前
|
机器学习/深度学习 人工智能 算法
【AI系统】内存分配算法
本文探讨了AI编译器前端优化中的内存分配问题,涵盖模型与硬件内存的发展、内存划分及其优化算法。文章首先分析了神经网络模型对NPU内存需求的增长趋势,随后详细介绍了静态与动态内存的概念及其实现方式,最后重点讨论了几种节省内存的算法,如空间换内存、计算换内存、模型压缩和内存复用等,旨在提高内存使用效率,减少碎片化,提升模型训练和推理的性能。
42 1
|
1月前
|
监控 Java Android开发
深入探讨Android系统的内存管理机制
本文将深入分析Android系统的内存管理机制,包括其内存分配、回收策略以及常见的内存泄漏问题。通过对这些方面的详细讨论,读者可以更好地理解Android系统如何高效地管理内存资源,从而提高应用程序的性能和稳定性。
68 16
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
2月前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
|
1月前
|
缓存 Prometheus 监控
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
273 1
|
21天前
|
存储 监控 算法
深入探索Java虚拟机(JVM)的内存管理机制
本文旨在为读者提供对Java虚拟机(JVM)内存管理机制的深入理解。通过详细解析JVM的内存结构、垃圾回收算法以及性能优化策略,本文不仅揭示了Java程序高效运行背后的原理,还为开发者提供了优化应用程序性能的实用技巧。不同于常规摘要仅概述文章大意,本文摘要将简要介绍JVM内存管理的关键点,为读者提供一个清晰的学习路线图。
|
29天前
|
Java
JVM内存参数
-Xmx[]:堆空间最大内存 -Xms[]:堆空间最小内存,一般设置成跟堆空间最大内存一样的 -Xmn[]:新生代的最大内存 -xx[use 垃圾回收器名称]:指定垃圾回收器 -xss:设置单个线程栈大小 一般设堆空间为最大可用物理地址的百分之80