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.
|10||On Board Devices|
|12||System Configuration Options|
|15||System Event Log|
|16||Physical Memory Array|
|18||32-bit Memory Error|
|19||Memory Array Mapped Address|
|20||Memory Device Mapped Address|
|21||Built-in Pointing Device|
|25||System Power Controls|
|29||Electrical Current Probe|
|30||Out-of-band Remote Access|
|31||Boot Integrity Services|
|33||64-bit Memory Error|
|35||Management Device Component|
|36||Management Device Threshold Data|
|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
|system||1, 12, 15, 23, 32|
|baseboard||2, 10, 41|
|memory||5, 6, 16, 17|
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.