A few weeks ago I decided to upgrade my laptop memory. In order to determine which type I need I used the following command on my Linux box (Ubuntu 10.04, not inside VM):
sudo dmidecode --type memory
And the output was:
# dmidecode 2.9
SMBIOS 2.5 present.
Handle 0x001B, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x001C, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x001B
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: 1
Locator: M1
Bank Locator: Bank 0
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Mfg 0
Serial Number: 1234-B0
Asset Tag: Not Specified
Part Number: SODIMM000
Handle 0x001D, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x001B
Error Information Handle: No Error
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: SODIMM
Set: 1
Locator: M2
Bank Locator: Bank 1
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Mfg 1
Serial Number: 1234-B1
Asset Tag: Not Specified
Part Number: SODIMM001
So I bought 1 SO-DIMM DDR2 667 (PC2-5300). When the product arrived, I tried to install it, but I found that, to my surprising, the remaining slot was incompatible - the card could not be inserted into the slot. It turned out that the slot was designed for DDR3 (as it is written on the slot), not DDR2 which is displayed by dmidecode
.
Is it possible that dmidecode
is showing incorrect data for memory type / speed?
If yes, how can I check the right memory type without it?
Answer
The dmidecode
program gives you the DMI information as reported by the BIOS. It is as accurate as the BIOS makes it. Inaccuracies are common.
You'll notice the BIOS didn't populate the manufacturer or serial number fields, so it's not bothering to provide any more information in the DMI table than it thinks the operating system needs.
To get accurate memory information, you should interrogate the SPD chips on the actual memory sticks.
No comments:
Post a Comment