查询主板上的内存插槽的命令是什么?

我有一台三星NP300e5Z i5笔记本电脑。我在这台笔记本上使用Ubuntu 14.04操作系统。我的系统内存是4GB,我想要增加它,但是我不确定我的系统有多少个内存插槽。所以,如何检查:
- 有多少个可用的内存插槽? - 我的系统当前使用了多少个插槽? - 我可以增加到的最大内存大小是多少?
任何建议都将不胜感激。

2对于1和2...把盖子拿掉,看看插槽? - user253751
1这种情况曾经发生在我身上,我运行了其中一个命令。它告诉我有4个插槽。我购买了两张额外的卡,结果打开后发现只有两个插槽可用,另外两个被封堵了。遵循@user253751的建议:自己打开并检查一下。 - finiteautomata
4个回答

你可以使用这个命令:

sudo lshw -class memory 

它会给你一个像这样的输出:
 *-memory
       description: System Memory
       physical id: 33
       slot: System board or motherboard
       size: 4GiB
     *-bank:0
          description: DIMM [empty]
          physical id: 0
          slot: ChannelA-DIMM0
     *-bank:1
          description: DIMM [empty]
          physical id: 1
          slot: ChannelA-DIMM1
     *-bank:2
          description: SODIMM DDR3 Synchronous 1333 MHz (0.8 ns)
          product: AD73I1C1674EV
          vendor: Fujitsu
          physical id: 2
          serial: 43D30100
          slot: ChannelB-DIMM0
          size: 2GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:3
          description: DIMM [empty]
          physical id: 3
          slot: ChannelB-DIMM1

在我的系统中,我有4个内存插槽,目前只使用了一个插槽。在其他插槽中,你可以看到显示为“空”。
为了获得最大支持的内存使用:
sudo dmidecode -t 16

或者
sudo dmidecode -t memory

或者
 sudo dmidecode | grep -i "Maximum Capacity:" | uniq

编辑:更互动的方式来查看Slot使用小脚本(由Serg建议)
sudo lshw -class memory | awk '/bank/ {count++} END {print "You have " count " slots for RAM"}'

1谢谢pl_rock!!我的系统显示有4个插槽,最大支持容量为16GB。这意味着我可以添加4个4GB的内存条吗? - purna ram
是的,你可以做。 - pl_rock
3建议对您的答案进行微小的改进:sudo lshw -class memory | awk '/bank/ {count++} END {print "您有" count "个RAM插槽"} - Sergiy Kolodyazhnyy
6@pl_rock 不,这并不总是正确的。一些主板,特别是在笔记本电脑中,会在lshw中报告由芯片组支持但实际上不存在于计算机主板上的内存插槽。除非查看制造商的规格说明或者打开主机检查,否则无法确定。 - user450359

另一种直接获取所有数字的方法;
要获取总插槽数量:
sudo dmidecode -t memory | grep -c '^Memory Device$'

获取已使用的插槽数量:
sudo dmidecode -t memory | grep -c -Po '^\tPart Number: (?!\[Empty\])'

为了获得最大容量:
sudo dmidecode -t memory | grep -Po '^\tMaximum Capacity: \K.*'

ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -c '^Memory Device$'
4
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -c -Po '^\tPart Number: (?!\[Empty\])'
1
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -Po '^\tMaximum Capacity: \K.*'
32 GB

1第二个命令在我的情况下没有用。这个看起来更可靠:dmidecode -t memory | grep -c 'Size: No Module Installed' - Skippy le Grand Gourou
@SkippyleGrandGourou 确实没错! - arilwan

"

sudo dmidecode --type 17 的结果中的存储设备数量等于内存插槽的数量,因此打印 RAM 插槽数量的命令是:

"
sudo dmidecode --type 17 | grep 'Memory Device' --count  

这个命令的结果将是一个整数,等于RAM插槽的数量。
显示每个已安装的RAM条的大小的命令是:
 sudo dmidecode --type 17 | grep -i size  

这是一个非常有用的命令,因为它显示了空闲的内存插槽数量、已安装内存条的插槽数量以及每个已安装内存条的大小。
显示最大内存容量(即您可以增加的最大内存大小)的命令是:
sudo inxi -m | grep capacity 

这个示例输出显示计算机有4个RAM插槽(2个空插槽和2个已满插槽),以及两个4GB的RAM条(总共8GB的RAM)。 $ sudo dmidecode --type 17 | grep 'Memory Device' --count 4 $ sudo dmidecode --type 17 | grep -i size Size: No Module Installed Size: No Module Installed Size: 4096 MB Size: 4096 MB $ sudo inxi -m | grep capacity Array-1 capacity: 32 GB devices: 4 EC: None

dmidecode显示控制器可用的插槽数量。最多有4种DMI类型,其中2种可以是内存阵列,另外2种可以是特定插槽。其中2种较不常见。关于阵列数据,dmidecode/inxi中的信息非常不可靠,但实际插槽数据通常非常可靠。如果您正在考虑购买或升级内存,您应该始终检查产品规格以确保inxi/dmidecode报告的内容是正确的。这尤其适用于最大内存大小和阵列容量。*


[快速回答]

我使用以下命令:

sudo dmidecode -t 17

出:

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0009, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0008
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: BANK 0
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1600 MHz
    Manufacturer: Samsung
    Serial Number: 78111110
    Asset Tag: None
    Part Number: K4B8G1646B-MYK0   
    Rank: Unknown
    Configured Clock Speed: 1600 MHz

Handle 0x000A, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0008
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelB-DIMM0
    Bank Locator: BANK 2
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1600 MHz
    Manufacturer: Samsung
    Serial Number: 22800022
    Asset Tag: None
    Part Number: M471B5273CH0-YK0  
    Rank: Unknown
    Configured Clock Speed: 1600 MHz

【注意】:
你也可以使用sudo dmidecode -t 16来获取摘要详情。