Roe*_*ven 7 linux memory dmidecode
我们在主机托管的服务器(一个真正的物理服务器,而不是一个VM),运行64位的Debian( :)。uname -r3.16.0-4-amd64
/proc/meminfo报告大约 4 GiB 总内存:
$ head -n 1 /proc/meminfo
MemTotal: 4051692 kB
Run Code Online (Sandbox Code Playgroud)
free报告相同(我只看了total专栏;我不是在谈论已用、免费、共享、缓冲区、缓存):
$ free -k
total used free shared buffers cached
Mem: 4051692 3867356 184336 220908 63948 1203596
-/+ buffers/cache: 2599812 1451880
Swap: 15728208 652540 15075668
Run Code Online (Sandbox Code Playgroud)
也是如此dmesg | grep Memory:
$ dmesg | grep Memory
[ 0.000000] Memory: 4034240K/4185236K available (5287K kernel code, 949K rwdata, 1836K rodata, 1208K init, 840K bss, 150996K reserved)
Run Code Online (Sandbox Code Playgroud)
但是 dmidecode 报告 4 * 2 GiB = 8 GiB 的 RAM,如果我理解正确的话:
$ sudo dmidecode --type memory
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0008, DMI type 5, 24 bytes
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
Single-bit Error Correcting
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 4096 MB
Maximum Total Memory Size: 16384 MB
Supported Speeds:
Other
Supported Memory Types:
DIMM
SDRAM
Memory Module Voltage: 3.3 V
Associated Memory Slots: 4
0x0009
0x000A
0x000B
0x000C
Enabled Error Correcting Capabilities:
Single-bit Error Correcting
Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: DIMM1A
Bank Connections: 0 1
Current Speed: Unknown
Type: DIMM SDRAM
Installed Size: 2048 MB (Single-bank Connection)
Enabled Size: 2048 MB (Single-bank Connection)
Error Status: OK
Handle 0x000A, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: DIMM1B
Bank Connections: 2 3
Current Speed: Unknown
Type: DIMM SDRAM
Installed Size: 2048 MB (Single-bank Connection)
Enabled Size: 2048 MB (Single-bank Connection)
Error Status: OK
Handle 0x000B, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: DIMM2A
Bank Connections: 4 5
Current Speed: Unknown
Type: DIMM SDRAM
Installed Size: 2048 MB (Single-bank Connection)
Enabled Size: 2048 MB (Single-bank Connection)
Error Status: OK
Handle 0x000C, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: DIMM2B
Bank Connections: 6 7
Current Speed: Unknown
Type: DIMM SDRAM
Installed Size: 2048 MB (Single-bank Connection)
Enabled Size: 2048 MB (Single-bank Connection)
Error Status: OK
Handle 0x002A, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x002C, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM1A
Bank Locator: BANK0
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Micron
Serial Number: 501C6FDC
Asset Tag: AssetTagNum0
Part Number: 9JSF25672AZ-1G4D1
Rank: Unknown
Handle 0x002E, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM1B
Bank Locator: BANK1
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Micron
Serial Number: 2A1C6FDC
Asset Tag: AssetTagNum1
Part Number: 9JSF25672AZ-1G4D1
Rank: Unknown
Handle 0x0030, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM2A
Bank Locator: BANK2
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Micron
Serial Number: 511C6FDC
Asset Tag: AssetTagNum2
Part Number: 9JSF25672AZ-1G4D1
Rank: Unknown
Handle 0x0032, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM2B
Bank Locator: BANK3
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Micron
Serial Number: 4B1C6FDC
Asset Tag: AssetTagNum3
Part Number: 9JSF25672AZ-1G4D1
Rank: Unknown
Run Code Online (Sandbox Code Playgroud)
我错过了什么?它是托管中心的服务器,所以不幸的是,我无法轻松查看实际安装的内容。
编辑:
man dmidecode说“通常情况下,DMI 表中包含的信息不准确、不完整或完全错误。”。也许 dmidecode 只是报告错误的数据?
编辑:这不是为什么 Linux 奇怪地报告“空闲”内存?. 这个问题是关于空闲内存,以及缓冲区和缓存从中带走的混乱。我不关心空闲内存,只关心总内存。不要让我对free命令的使用愚弄你:我没有用它来查看可用内存量,只查看总内存量。如果有人仍然认为这个问题是重复的,请解释原因,因为我不明白。
编辑:dmidecode -t1根据Lenniey的要求
$ sudo dmidecode -t1
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Supermicro
Product Name: X8SIL
Version: 0123456789
Serial Number: 0123456789
UUID: 49434D53-0200-9037-2500-379025009946
Wake-up Type: Power Switch
SKU Number: To Be Filled By O.E.M.
Family: To Be Filled By O.E.M.
Run Code Online (Sandbox Code Playgroud)
事实证明,其中一个内存模块出现故障,导致系统忽略同一通道中的该内存模块和另一个内存模块。
现在我们的办公室里有服务器,我们看到确实有 4 个 DIMM 模块,每个 2 GB。我把模块一一测试了一下,发现有一个有问题。
(这并不能解释为什么 dmidecode 对所有四个模块都显示“错误状态:正常”。我想这可以通过引用“DMI 表中包含的信息通常不准确、不完整或根本错误”来解释。在手册页中)