我收到了两个不同的 RAM 大小数字。
我安装了 2x2GB RAM,F2 键显示我有 4028MB,但 Ubuntu 系统设置“详细信息”(又称“关于这台计算机”)显示我只有 2.9G。我还在lshw
终端上检查了一下,它显示内存大小为 3008MB。我认为这与系统设置兼容。我应该相信哪一个?
我使用Toshiba Satellite p200-143
,毫无疑问最大应该是4G。操作系统是Ubuntu 14.04 LTS
,我已经安装了64 bit
。
我还检查了 BIOS,据我所知,1.70 版本是我能在这台笔记本电脑上刷新的最佳版本,我已经这样做了(直接升级到最新版本,跳过旧版本,如果有任何区别,我不知道)。如果您知道发生了什么,请告诉我。非常感谢。:)
答案1
第二次编辑:这里是Microsoft Technet 文章这解释了问题所在。
关于这两个数字:
physically installed
F2 键报告主板 BIOS 看到的计算机内存大小;- 您看到的第二个数字(在“详细信息”和的结果中
lshw
)是加载的操作系统(OS)可用于运行程序的实际 RAM 大小。
两者都是正确的,存在很大的差异也是可以的。
以下是解释:
您的计算机正在使用Intel® 945PM Express chipset
。这是官方规格您的计算机Intel 945PM chipset
。32位物理内存寻址能力。请参阅 PDF 文档的第 23 页,文字为“32 位接口可寻址高达 4 GB 的内存”。因此,您的计算机物理上只能处理 4GB 的可寻址 RAM 空间,并且无论使用32-bit
还是 ,这都不会改变64-bit kernel
。各种系统和设备都需要保留一些 RAM 地址空间才能工作。例如,总线PCI-Express
需要 256MB 的 RAM 地址空间。视频卡需要额外的 256/512MB,具体取决于型号和实现。有与 有类似的问题MacBook Pros
。如果您的系统中拥有 3GB RAM,则不会出现问题,因为 PCI-Express 和视频卡地址空间分配在 RAM 末尾之前,即 3GB 以上。但是当您拥有 4GB 时,内存控制器必须禁用 4GB 和这些缓冲区空间起始位置之间的地址对 RAM 的访问。
以下是问题的一个例子。我不认识这个人,但它应该有助于说明发生了什么。这是原始帖子。
编辑:
您可以通过命令检查地址空间的分配方式cat /proc/iomem
。以下是 Stackoverflow 问题,如何理解输出。
配备 Intel 965 芯片组的系统不会出现此问题。它可以处理更多 RAM。
答案2
这是计算机科学 101 的内容。您永远无法拥有完整的 4 GB RAM,因为系统会为外围设备(如键盘、显示器、触摸板等)缓存一些内存,并且必须为内核缓存一些内存。哪个操作系统并不重要,这更多的是计算机的构建方式。
例如,我有 6 GB(一个 2GB 的内存条和 4 GB 的内存条),但free -h
报告显示 5.6 GB。这是完全正常的行为