大多数情况下你可以从BIOS、产品目录或者干脆手动找出你的系统所持的最大内存。这里,我们介绍一种简单有用的技巧——使用dmidecode来找出系统支持的最大内存,这样你就无需打开机箱或者参照BIOS和产品目录了。

什么是 dmidecode?
就像你可能知道的一样, dmidecode是一个将计算机DMI(又名SMBIOS)表的内容转换为可读格式的工具。这个表包含了系统硬件组件的介绍以及其他一些如序列号和IOS版本等有用的信息。使用dmidecode你能够获取此项信息,而无需去探测真实的硬件。
找出你的系统所支持的最大内存
请确定你已经在系统中安装了dmidecode,我觉得你的操作系统应该已经自动安装过了,不过并不非常确定。
在基于Deb的系统中安装
sudo apt-get install dmidecode
在基于RPM的系统中安装
sudo yum install dmidecode
在SUSE/openSUSE中安装
sudo zypper in dmidecode
好了,我们已经安装了dmidecode,接下来让我们找出支持的最大内存。输入以下命令:
sudo dmidecode -t 16
输出样本
# dmidecode 2.12 SMBIOS 2.6 present. Handle 0x0014, 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: 2
就像你看到的,我的系统支持最大内存到16G,并且有两个内存插槽,简单吧?
接下来,让我们找出现在已经安装的内存的详细信息。
sudo dmidecode -t 17
输出样本
# dmidecode 2.12 SMBIOS 2.6 present. Handle 0x0017, DMI type 17, 28 bytes Memory Device Array Handle: 0x0014 Error Information Handle: 0x0000 Total Width: Unknown Data Width: Unknown Size: No Module Installed Form Factor: DIMM Set: None Locator: DIMM_B Bank Locator: BANK 2 Type: Unknown Type Detail: None Speed: Unknown Manufacturer: Not Specified Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Rank: Unknown Handle 0x0015, DMI type 17, 28 bytes Memory Device Array Handle: 0x0014 Error Information Handle: 0x0000 Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: SODIMM Set: None Locator: DIMM_A Bank Locator: BANK 0 Type: DDR3 Type Detail: Synchronous Speed: 1067 MHz Manufacturer: 014F Serial Number: 00092AF2 Asset Tag: 54114000 Part Number: JM1066KSN-4G Rank: Unknown
就像上边输出的一样,我在插槽1里边安装了一个内存条。内存大小为4G,类型为DDR3,速度为1067 MHz。
同样的,我们可以通过下边命令得到完整的内存信息。








