Get Hardware Details In Linux With 'dmidecode'

dmidecode is a tool for dumping a computer’s DMI (some say SMBIOS ) table contents in a human-readable format. This table contains a description of the system’s hardware components as well as other useful pieces of information such as serial numbers and BIOS revision.

Thanks to this table, you can retrieve this information without having to probe for the actual hardware. While this is a good point in terms of report speed and safeness, this also makes the presented information possibly unreliable.

​The DMI table doesn’t only describe what the system is currently made of, it can also report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported).

SMBIOS stands for System Management BIOS, while DMI stands for Desktop Management Interface. Both standards are tightly related and developed by the DMTF (Desktop Management Task Force).

As you run it, dmidecode will try to locate the DMI table. If it succeeds, it will then parse this table and display a list of records.

Let us look at a few dmidecode commands


Some of these commands may require root privileges  

Running basic dmidecode

Enter the following command in terminal – dmidecode

To Get Physical Memory (RAM) Information Using Dmidecode

Enter the following command in terminal – dmidecode -t 16

To Get BIOS information using dmidecode

Enter the following command in terminal – dmidecode -t bios

To View Manufacturer, Model and Serial number of the equipment using dmidecode

Enter the following command in terminal – dmidecode -t system

To get Hardware Information about chassis

Enter the following command in terminal – dmidecode -t chassis

Getting HW information about baseboard

Enter the following command in terminal – dmidecode -t baseboard

To get 64-bit Memory Error information using type id along with dmidecode

Enter the following command in terminal – dmidecode -t 33

All Dmi Types

​The following are all the available dmi types available for inquiry by dmidecode.

​Type ​Information
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
40 Additional Information
41 Onboard Device Extended Information
42 Management Controller Host Interface

​Note that keywords may be used in place of the type numbers. Keywords are not case sensitive

Keyword Types
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10, 41
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9

Usage in the following formats are all equivalent

  • dmidecode –type 0 –type 13
  • dmidecode –type 0,13
  • Dmidecode –type bios
  • Dmidecode — type BIOS


​Like I mentioned earlier, you can always run man dmidecode command to find out more about this command tool. I hope you find this simple tutorial quite useful. Share your thoughts with us in the comments. Thanks for reading.