如何确定使用的RAM插槽数量
Contents
1. 简介
通常,如果我们想知道计算机上的 RAM 插槽数量,我们可以打开机箱查看,或者我们可以搜索型号规格。但是利用一些有用的 Linux 命令要容易得多。
在本教程中,我们将使用*dmidecode * 和*lshw *来检索系统的 RAM 配置。
2. 使用dmidecode
首先,让我们看一下dmidecode,一个在我们的 BIOS 中查询 DMI 表并以友好格式显示它的命令。 我们需要以超级用户身份执行此命令:
$ sudo dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.
Handle 0x0049, DMI type 16, 23 bytes
Physical Memory Array
...
Number Of Devices: 2
Handle 0x004A, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0049
...
Size: 8192 MB
...
Locator: DIMM A
...
Handle 0x004B, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0049
...
Size: No Module Installed
...
Locator: DIMM B
...
在设备数量属性中,我们可以看到插槽的总数,在内存设备部分,我们可以看到每个插槽的详细信息。
在上面的例子中,我们看到第一个插槽有 8GB RAM,而第二个插槽没有安装内存模块。
现在假设我们只想打印空槽,而忽略所有其他信息。我们可以通过管道将dmidecode传递给*grep * 命令:
$ sudo dmidecode -t memory | grep "No Module Installed" -A 3
Size: No Module Installed
...
Locator: DIMM B
-A选项将使grep在Size条目之后添加三行,足以看到我们正在谈论的插槽。
3. 使用lshw
lshw命令与其他源一起查询 DMI 表,因此它可能会在dmidecode不显示的情况下显示内存信息。它可以以 JSON、HTML 或 XML 格式打印其结果。
与dmidecode一样,我们需要以超级用户身份执行此命令:
$ sudo lshw -class memory
...
*-memory
...
*-bank:0
description: SODIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
...
slot: DIMM A
...
*-bank:1
description: SODIMM DDR4 Synchronous [empty]
...
slot: DIMM B
...
在上面的输出中,我们可以看到两个插槽,第一个带有内存模块,第二个没有安装任何东西。当插槽可用时,描述包括消息[empty]**。
现在,让我们假设我们只想打印空插槽,就像我们对dmidecode所做的那样。我们同样可以通过管道将 lshw 传递给grep :
$ sudo lshw -class memory | grep empty -B 1
*-bank:1
description: SODIMM DDR4 Synchronous [empty]
在这种情况下,我们使用带有*-B参数的*grep 来获取description之前的行。