+ -
当前位置:首页 → 问答吧 → 还有些内存跑哪去了?

还有些内存跑哪去了?

时间:2010-03-09

来源:互联网

4G 内存 64 位系统,集成显卡分去 128M ,free -m 显示结果竟只有 3834M 。
4096 - 128 = 3968
3968 - 3834 = 134
还有 134M 内存跑哪去了?

作者: ch_fb   发布时间: 2010-03-09

你确定是4096?

作者: inox   发布时间: 2010-03-09

这个与 Linux 无关哈,你在任何操作系统下都看不到全部的内存的。

作者: poet   发布时间: 2010-03-09

引用:
作者: inox
你确定是4096?
4G 不是 4096M 吗?少几 M 还可以理解,BIOS 占了,少了这么多我就不理解了。

作者: ch_fb   发布时间: 2010-03-09

引用:
作者: ch_fb
4G 不是 4096M 吗?少几 M 还可以理解,BIOS 占了,少了这么多我就不理解了。
用来管理其他内存.

作者: kevinlei   发布时间: 2010-03-10

你如果学习过汇编的话(特别是王爽的汇编)

CPU要处理数据必须要地址,所以,在32位系统下虽然最大寻址能力为4G,但是内存只能使用到3。2G
另外的800MB就拿去处理诸如显卡,网卡,声卡等等一系列设备去了。。。因为CPU是不会为这些外设多准备地址线的!!!

希望对你有所帮助。。。。
一家之言,难免有误,还望大家指正,共同学习嘛。。。

另外,你需要注意一下进制问题

所谓的320G硬盘都是按照1000进制来的,换算成1024的话,实际上只有300G左右。。你的内存难免也存在这种问题。。。

作者: w359405949   发布时间: 2010-03-11

楼上,人家是64位系统诶。而且内存容量从来没听说用10进制的。
我的32位系统开了PAE也是这样,看不到所有的内存,总是差那么几十M。不知道是被内核占去了不算还是干其他事情了。

作者: stecue   发布时间: 2010-03-11

也许有硬件不支持64bit,PCI 映射在4G里面了

作者: sxzzsf   发布时间: 2010-03-11

由于历史的原因,一直以来,BIOS都是从4GB开始的地址位置向低地址方向为板载设备分配所需地址空间的,据我的经验最多可以分配500多兆。
这是因为当初人们认为4GB是一个很大很大的天文数字,物理内存很难用到这么多,所以就把那些地址空间预留给板载设备了。
所以,现在即便你有4GB内存,也会有几百兆物理内存因为没有地址空间可以分配而被闲置。
当然比较新版本的BIOS为了适应系统实际物理内存的使用都增加的一个功能,打开这个功能,BIOS就可以把空闲的这部分物理内存映射到高于4GB的地址空间去使得程序可以使用

作者: 糊涂   发布时间: 2010-03-12