计算机的最大内存为16GB或8GB

制造商的笔记本规格说,内存可以从4GB扩展到8GB。

然而,运行sudo dmidecode建议计算机可以使用16GB,如下所示:

Handle 0x0037, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 16 GB Error Information Handle: Not Provided Number Of Devices: 4 

哪一个是正确的?

正如我在评论中提到的,要回答这个问题,需要使用主板的全名。 我举个例子。 我在这里看到了英特尔DZ68DB: http : //ark.intel.com/products/55744/Intel-Desktop-Board-DZ68DB

主板支持高达32GB的RAM(现在我使用的是16GB)。 这在很小程度上也取决于内存类型,但对于这款主板,我使用的DDR3可以达到32GB的RAM(每个插槽8GB的RAM)。

当我运行sudo dmidecode -t memory我得到以下内容:

 cyrex@cyrex:~$ sudo dmidecode -t memory # dmidecode 2.11 SMBIOS 2.6 present. Handle 0x0027, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 16 GB Error Information Handle: No Error Number Of Devices: 4 

你可以看到它说16 GB,但实际上我知道不是那样的。 它是32 GB。 我应该提到我已经将BIOS更新到最新版本,并且测试了整整2天系统的32 GB RAM(这也回答了我对16 GB和32 GB系统之间的性能和速度的疑问。)所以我知道它也适用于32 GB。

正如您所看到的, dmidecode在某些硬件中是错误的,直到更新dmidecode或解析收集的信息的方式得到纠正。 这还包括像lshw这样的工具,它们将显示相同的信息。 每个硬件都不是这种情况,但您碰巧遇到了与我相同的错误。 我猜这个程序的新版本(现在是2.11)他们会纠正这个。

我将指向关于dmidecode的Linux Man Page: http : //linux.die.net/man/8/dmidecode

你会在Bug部分找到:

通常,DMI表中包含的信息不准确,不完整或完全错误。

所以dmidecode有帮助,但不是100%准确。 我们的案例就是一个例子。

最后关于dmidecode的Bug报告 – https://bugs.launchpad.net/ubuntu/+source/dmidecode/+bugs?field.status:list=NEW