dmidecode Command
Beginner System Information man(8)Read hardware information from BIOS/UEFI DMI table
š
Updated: Mar 16, 2026
SYNTAX
dmidecode [OPTIONS]
What Does dmidecode Do?
The dmidecode command reads the DMI (Desktop Management Interface) / SMBIOS (System Management BIOS) data from the system BIOS or UEFI firmware. This provides detailed hardware information that is not available through other Linux tools ā including motherboard model, BIOS version, RAM slot details, serial numbers, and CPU socket information.
dmidecode is invaluable for system inventory, hardware troubleshooting, capacity planning, and remote server management. When you cannot physically inspect a server, dmidecode tells you exactly what hardware is installed, how many RAM slots are available (and which are populated), the maximum supported memory, BIOS version for firmware updates, and chassis/asset information.
The DMI data is organized into numbered types, each representing a category of hardware information. The most commonly used types are: Type 0 (BIOS), Type 1 (System), Type 2 (Baseboard/Motherboard), Type 4 (Processor), Type 16 (Physical Memory Array), and Type 17 (Memory Device/RAM).
dmidecode is invaluable for system inventory, hardware troubleshooting, capacity planning, and remote server management. When you cannot physically inspect a server, dmidecode tells you exactly what hardware is installed, how many RAM slots are available (and which are populated), the maximum supported memory, BIOS version for firmware updates, and chassis/asset information.
The DMI data is organized into numbered types, each representing a category of hardware information. The most commonly used types are: Type 0 (BIOS), Type 1 (System), Type 2 (Baseboard/Motherboard), Type 4 (Processor), Type 16 (Physical Memory Array), and Type 17 (Memory Device/RAM).
Options & Flags
| Option | Description | Example |
|---|---|---|
| (no options) | Dump all DMI data | sudo dmidecode |
| -t TYPE | Show only specific DMI type | sudo dmidecode -t memory |
| -t bios | Show BIOS information (type 0) | sudo dmidecode -t bios |
| -t system | Show system manufacturer, model, serial (type 1) | sudo dmidecode -t system |
| -t baseboard | Show motherboard info (type 2) | sudo dmidecode -t baseboard |
| -t processor | Show CPU socket info (type 4) | sudo dmidecode -t processor |
| -t memory | Show RAM slots and installed DIMMs (types 16,17) | sudo dmidecode -t memory |
| -s KEYWORD | Show only a specific string value | sudo dmidecode -s system-serial-number |
| -t chassis | Show chassis/enclosure info | sudo dmidecode -t chassis |
Practical Examples
#1 Check server model and serial
Get the server manufacturer, model name, and serial number ā essential for support tickets and inventory.
$ sudo dmidecode -t system | grep -E "Manufacturer|Product|Serial"
Output:
Manufacturer: Dell Inc.\n Product Name: PowerEdge R740\n Serial Number: ABC1234
#2 Check BIOS version
View BIOS vendor, version, and release date. Important for firmware update planning.
$ sudo dmidecode -t bios#3 Check RAM configuration
Show installed RAM modules: size, type (DDR4/DDR5), speed, and which physical slot they occupy.
$ sudo dmidecode -t memory | grep -E "Size|Type|Speed|Locator"#4 Find maximum RAM capacity
Check the maximum RAM the system supports ā crucial for memory upgrade planning.
$ sudo dmidecode -t 16 | grep "Maximum Capacity"
Output:
Maximum Capacity: 512 GB
#5 Count available RAM slots
Count total DIMM slots (including empty ones).
$ sudo dmidecode -t 17 | grep -c "Size:"
Output:
16
#6 Get serial number for scripting
Output just the serial number string ā perfect for inventory scripts and CMDB integration.
$ sudo dmidecode -s system-serial-number
Output:
ABC1234
#7 Check CPU socket information
See CPU socket type, installed processor model, core/thread count, and clock speed.
$ sudo dmidecode -t processor | grep -E "Socket|Version|Core|Thread|Speed"Tips & Best Practices
Requires root access: dmidecode reads from /dev/mem or /sys/firmware/dmi and requires root privileges. Always run with sudo.
Virtual machines: In VMs, dmidecode shows the virtualization platform (VMware, KVM, VirtualBox, Hyper-V) as the manufacturer. Useful for detecting if you are on physical or virtual hardware.
Data accuracy: DMI data is written by the BIOS/UEFI manufacturer. Some fields may be inaccurate or empty on cheap hardware. Cross-reference with lscpu, lspci, and free for verification.
Useful -s keywords: Quick single values: dmidecode -s system-product-name, -s system-serial-number, -s bios-version, -s baseboard-product-name, -s processor-version
Frequently Asked Questions
How do I find my server serial number in Linux?
Run: sudo dmidecode -s system-serial-number. For the service tag (Dell): sudo dmidecode -s system-serial-number. Works remotely via SSH.
How do I check how much RAM I can install?
sudo dmidecode -t 16 shows Maximum Capacity (total supported RAM). sudo dmidecode -t 17 shows each DIMM slot with current size and maximum speed.
Does dmidecode work in virtual machines?
Yes, but it shows VM details: QEMU, VMware Virtual Platform, VirtualBox, etc. as the manufacturer. The hypervisor populates the DMI tables for the guest.
How do I check if my server supports DDR5?
Run sudo dmidecode -t 17 and look at the Type field for installed DIMMs, and check the motherboard/BIOS documentation for supported memory types.
Related Commands
More System Information Commands
Master Linux with Professional eBooks
Curated IT eBooks covering Linux, DevOps, Cloud, and more
Browse Books ā