IBM 服务器

广东服务器技术论坛(IBM、HP、DELL、联想)服务器专区IBM服务器论坛专区 → 谁动了我的内存


  共有6629人关注过本帖树形打印

主题:谁动了我的内存

美女呀,离线,留言给我吧!
admin
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:18 积分:528 威望:0 精华:0 注册:2003-12-30 16:34:32
谁动了我的内存  发帖心情 Post By:2011-4-17 20:58:08

随着企业业务增长,老的服务器会需要扩内存。有的机器扩完内存后,在BIOS里面识别正常,在操作系统下却会少几百M,有的干脆认不到。这到底是怎么回事,是内存条单位换算的原因,或者是硬件不兼容引起的,还是别的其他原因?真可是小小内存,大有文章,下面咋们就聊聊到底是怎么回事。

        操作系统对物理内存的支持,会受到诸如硬件限制、操作系统的版本、驱动程序等方面的综合影响。我们这里以WINDOWS  Server和X3650服务器为例,打开X3650的HMM会看到这么一段描述:

        红色框里的文字说:“服务器最多支持48GB的内存”,那么是不是说我们在机器上安装多大内存,操作系统里就能识别多大?当然不一定,还要看操作系统的支持。MSDN网站的Memory Limits for Windows Releases文章对不同Windows版本、以及同一个版本的不同SKU的限制进行介绍。例如,32位Windows Server 2003标准版仅支持4GB,而32位Windows Server 2003数据中心版支持64GB。类似的,64位Windows Server 2008标准版支持32GB,而64位32位Windows Server 2008数据中心版支持2TB。那么我们得出结论Windows  Server内存的支持跟软硬件平台相关。

        这里再引自咋们论坛里一个很火的讨论贴,是由“艺人”老大写的连载之一“坏了一部分的内存?”,里面谈到有台X3650服务器的内存从2GB升到4GB后,在WIN2003  32位简体中文企业版里只显示3GB多这样子。按上面的结论,我们到“Memory Limits for Windows Releases”文章里一查,细心的哥们马上会问:“这个SKU版本的WIN2003能支持64 GB内存,那为什么显示还会有偏差?”那么,我们再看表格上面这段描述:

红色框里的文字说:“对于超过4G内存的32位Win2003系统要确认启用PAE”。
注:PAE是Intel x86 Pentium Pro处理器引入了一种称为物理地址扩展(PAE,Physical Address Extension)的内存映射模式。简单说就是可以映射到超过4G的物理内存。有兴趣的哥们自己可以去GOOGLE下。


        后来“艺人”在启用了PAE后,在系统里终于显示出来4GB。事情到这里似乎有答案了,但是事实真是这样吗?PAE是为了访问超过4GB的物理内存而开启的,你这里只有4GB内存,似乎也不用开启PAE?但是开启后,马上能看到4GB的内存了,明显这是有效果的。那究竟是什么原因导致内存有误差呢?“艺人”也在思考:

        答案是我们平常所说物理地址映射不仅仅包含物理内存,还有设备内存。这里的误差就是设备内存占据的物理地址。开启PAE后,由于操作系统能寻址大于4GB的地址空间,设备内存与物理内存的地址空间就不用冲突,就能显示出来了。

        最后补充下,Win2003在 SP1后默认启用PAE,也就是开启大内存支持。一般上述情况只会在WIN2003不带SP1和WIN2000系统中出现。第一次在论坛里发贴,文章中难免有错误,希望各位兄弟斧正,谢谢!

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

谁动了我的内存








签名