How to get system-information with dmidecode

Ever wondered what kind of RAM your system supports? Or maybe you can’t remember your motherboard brand or model? Well, luck you, linux has a perfect tool for finding this information.

First, let’s have a look at what we actually can find out:

Type Information
────────────────────────────────────────
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply


This is pretty much self-explanatory. You can pretty much find out whatever you want about your motherboard and its modules. What you can’t find out with dmidecode is the content of expansion slots like PCI, PIC-E, ISA(yey, who the f”%k still use this) etc. If you need to find out whats connected to your PCI extension slots, use lspci -v.

So let’s learn by example, I recently wanted to expand the memory on my server. It’s a pretty old server, and I didn’t even buy it myself, so instead of opening it up and doing it the hard way – I used dmidecode.

First I need to find out what kind of motherboard it is, so that I don’t put in too much RAM(yes, it’s that old).

$ sudo dmidecode –type 2
# dmidecode 2.9
SMBIOS 2.51 present.

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Supermicro
Product Name: PDSMi+
Version: PCB Version
Serial Number: 0123456789

As you can see I have the Supermicro PDSMi+ motherboard. So I look up the specs of it and find out that I can’t have more than 8GB og RAM. Well, that should do – at least it’s better than my current 2GB.

Well, should I buy 2 new 4GB modules? Should I buy 4 x 2GB modules? What can I actually put in there? How many slots do I have? What kind of modules do I have now? Let’s answer these questions first. To find out my current setup and number of slots, lets check out the memory device:

$ sudo dmidecode –type 17
# dmidecode 2.9
SMBIOS 2.51 present.

Handle 0x0012, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0011
Error Information Handle: No Error
Total Width: 72 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: 1
Locator: DIMM#1A
Bank Locator: Bank 1
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0013, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0011
Error Information Handle: No Error
Total Width: 72 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: 1
Locator: DIMM#2A
Bank Locator: Bank 2
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0014, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0011
Error Information Handle: No Error
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: 1
Locator: DIMM#1B
Bank Locator: Bank 1
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0015, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0011
Error Information Handle: No Error
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: 1
Locator: DIMM#2B
Bank Locator: Bank 2
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

At first you see it lists 4 RAM slots available, and 2 are available(“Size: No Module Installed”). Let’s have a look at the keywords for our already installed modules: Form Factor, Type, Speed and Size.

My installed modules are DIMM form factor of type DDR2 and speed of 667MHz. Your next question would be, couldn’t you just look this info up in the motherboard specifications? Yes I could, but imagine if I wanted to expand my 2GB to 6GB by putting in a 4GB module in slot 3, I bought the top RAM at 667MHz and later it turns out that my current modules only run at 500MHz. This would slow down my newly added RAM as well – pain in the ass.

Well, you get the picture. As well as memory and motherboard info you can get bios and even chassis info. Play around with it, it’s a good way to get to know your hardware.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>