Linux基础:如何找出你的系统所支持的最大内存

2019-10-14 11:04:18于丽

大多数情况下你可以从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。

同样的,我们可以通过下边命令得到完整的内存信息。