The dmidecode command dumps the system’s Desktop Management Interface (DMI) table and presents it in a human-readable format. The DMI table is an industry-standard for tracking information about hardware components. It separates components into types, with each type given a number—for example, type 4 is a processor, type 39 is a power supply, etc. Like similar commands, you can use dmidecode to verify connected devices and whether or not they support certain features. However, the authors of dmidecode caution that the information in DMI tables is, more often than not, “inaccurate, incomplete, or simply wrong.” Therefore, don’t rely on DMI tables as the sole source of hardware information.
Syntax
The syntax of the dmidecode command is:
# dmidecode [options]
If you encounter the below error while running the dmidecode command:
dmidecode: command not found
you may try installing the below package as per your choice of distribution:
OS Distribution | Command |
---|---|
Debian | apt-get install dmidecode |
Ubuntu | apt-get install dmidecode |
Alpine | apk add dmidecode |
Arch Linux | pacman -S dmidecode |
Kali Linux | apt-get install dmidecode |
CentOS | yum install dmidecode |
Fedora | dnf install dmidecode |
Raspbian | apt-get install dmidecode |
dmidecode Command Examples
1. To read memory from file:
# dmidecode -d /dev/mem
2. To be less verbose:
# dmidecode -q # dmidecode --quite
3. To print the value of the DMI string:
# dmidecode -s bios-version # dmidecode --string bios-version
available strings:
bios-vendor, bios-version, bios-release-date, system-manufacturer, system-product-name, system-version, system-serial-number, system-uuid, baseboard-manufacturer board-product-name, baseboard-version, baseboard-serial-number, baseboard-asset-tag, chassis- facturer, chassis-type, chassis-version, chassis-serial-number, chassis-asset-tag, processor-family, processor-manufacturer, processor-version, processor-frequency.
4. To display entries of specified type:
# dmidecode -t TYPE # dmidecode -t memory # dmidecode --type memory
Available types:
bios, system, baseboard, chassis, processor, memory, cache, connector, slot.
5. To not decode entries, dump as hexadecimal:
# dmidecode -u # dmidecode --dump
6. To dump the DMI data into file:
# dmidecode --dump-bin /tmp/file.txt
7. To display the usage information:
# dmidecode -h
8. To display the version and exit:
# dmidecode -V # dmidecode --version
9. To list the BIOS:
# dmidecode -t 0
10. To list the System:
# dmidecode -t 1 -------------------------------------------------------- SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: VMware Product Name: VMware Platform Version: None Serial Number: VMware-XX XX XX XX XX XX XX UUID: 12252f1252645623sfdt342317q Wake-up Type: Power Switch SKU Number: Not Specified Family: Not Specified
11. To list the Base Board:
# dmidecode -t 2 # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: Intel Corp Product Name: 440BX Desktop Reference Platform Version: None Serial Number: None Asset Tag: Not Specified Features: None Location In Chassis: Not Specified Chassis Handle: 0x0000 Type: Unknown Contained Object Handles: 0
12. To list the Chassis:
# dmidecode -t 3 SMBIOS 2.4 present. Handle 0x0003, DMI type 3, 21 bytes Chassis Information Manufacturer: No Enclosure Type: Other Lock: Not Present Version: N/A Serial Number: None O/P Truncated
13. To list the Processor:
# dmidecode -t 4 Processor Information Socket Designation: CPU socket #63 Type: Central Processor Family: Unknown Manufacturer: 000000000000 ID: 00 00 00 00 00 00 00 00 Version: 00000000000000000000000000000000 Voltage: 3.3 V
14. To list the Memory Controller:
# dmidecode -t 5 # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x0044, DMI type 5, 46 bytes Memory Controller Information Error Detecting Method: None Error Correcting Capabilities: None Supported Interleave: One-way Interleave Current Interleave: One-way Interleave Maximum Memory Module Size: 32768 MB Maximum Total Memory Size: 491520 MB Supported Speeds: 70 ns 60 ns Supported Memory Types: FPM EDO DIMM SDRAM
15. To list the Memory Module:
# dmidecode -t 6
16. To list the Cache:
# dmidecode -t 7
17. To list the Port Connector:
# dmidecode -t 8
18. To list the System Slots:
# dmidecode -t 9
19. To list the On Board Devices:
# dmidecode -t 10
20. To list the OEM Strings:
# dmidecode -t 11
21. To list the System Configuration Options:
# dmidecode -t 12
22. To list the BIOS Language:
# dmidecode -t 13
23. To list the Group Associations:
# dmidecode -t 14
24. To list the System Event Log:
# dmidecode -t 15
25. To list the Physical Memory Array:
# dmidecode -t 16
26. To list the Memory Device:
# dmidecode -t 17
27. To list the 32-bit Memory Error:
# dmidecode -t 18
28. To list the Memory Array Mapped Address:
# dmidecode -t 19
29. To list the Memory Device Mapped Address:
# dmidecode -t 20
30. To list the Built-in Pointing Device:
# dmidecode -t 21
31. To list the Portable Battery:
# dmidecode -t 22
32. To list the System Reset:
# dmidecode -t 23
33. To list the Hardware Security:
# dmidecode -t 24
34. To list the System Power Controls:
# dmidecode -t 25
35. To list the Voltage Probe:
# dmidecode -t 26
36. To list the Cooling Device:
# dmidecode -t 27
37. To list the Temperature Probe:
# dmidecode -t 28
38. To list the Electrical Current Probe:
# dmidecode -t 29
39. To list the Out-of-band Remote Access:
# dmidecode -t 30
40. To list the Boot Integrity Services:
# dmidecode -t 31
41. To list the System Boot:
# dmidecode -t 32
42. To list the 64-bit Memory Error:
# dmidecode -t 33
43. To list the Management Device:
# dmidecode -t 34
44. To list the Management Device Component:
# dmidecode -t 35
45. To list the Management Device Threshold Data:
# dmidecode -t 36
46. To list the Memory Channel:
# dmidecode -t 37
47. To list the IPMI Device:
# dmidecode -t 38
48. To list the Power Supply:
# dmidecode -t 39
49. To list the Additional Information:
# dmidecode -t 40
50. To list the on-board Device:
# dmidecode -t 41