Explore System Hardware Information with sys-apps/dmidecode
Discover comprehensive insights into your system's hardware configuration using dmidecode, a powerful utility that retrieves data from the Desktop Management Interface (DMI) of your computer's BIOS. From RAM speed to BIOS details, processor specifications to memory configurations, dmidecode empowers you to delve deep into the intricacies of your system's components.
Available options for dmidecode
| 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
| 11 | OEM Strings
| 13 | BIOS Language
| 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
| 34 | Management Device
| 35 | Management Device Component
| 36 | Management Device Threshold Data
| 37 | Memory Channel
| 38 | IPMI Device
| 39 | Power Supply
Install dmidecode
emerge -a sys-apps/dmidecode
pacman -S dmidecode
apt install dmidecode
yum install dmidecode
Print current ram speed
dmidecode | perl -lne 'print $1 if /Current\s+Speed:\s+(\d+\s+MHz)/
Print bios info
dmidecode -t bios
Print system info
dmidecode -t system
Print baseboard info
dmidecode -t baseboard
Print chassis info
dmidecode -t chassis
Print processor info
dmidecode -t processor
Print memory info
dmidecode -t memory
Print cache info
dmidecode -t cache
Print connector info
dmidecode -t connector
Print slot info
dmidecode -t slot
Show more details of ram-memory
dmidecode --type memory
Tips and Tricks
Print Serial Number
dmidecode | grep Serial\ Number | head -n1
Show speed of ram-memory
dmidecode --type memory | grep -i "speed"
See your current RAM frequency
dmidecode -t 17 | awk -F":" '/Speed/ { print $2 }'
Detect if we are running on a VMware virtual machine
dmidecode | awk '/VMware Virtual Platform/ {print $3,$4,$5}'
See your current RAM frequency
dmidecode | grep -i "current speed"
Determine whether a CPU has 64 bit capability or not
dmidecode --type=processor | grep -i -A 1 charac
Check motherboard manufacturer, product name, version and serial number
dmidecode | grep -i 'Base Board Information' -A4 -B1
Get info on RAM Slots and Max RAM
dmidecode 2.9 | grep "Maximum Capacity"; dmidecode -t 17 | grep Size
Get current speed of cpu in use and totaly cpu mhz
awk -F": " '/cpu MHz\ */ { print "Processor (or core) running speed is: " $2 }' /proc/cpuinfo
dmidecode | awk -F':[[:space:]]*' '/Current Speed/ { print "Processor real speed is: " $2 }'
Map the slot of an I/O card to its PCI bus address
dmidecode --type 9 |egrep 'Bus Address|Designation'
Another way to print cpu max speed
dmidecode | awk -F':[[:space:]]*' '
/Processor Information/ { in_cpu = 1 }
in_cpu && $1 ~ /Current Speed/ {
print "Processor real speed is:", $2
in_cpu = 0
}
'
Inspect kernel logs for HP WMI / hwmon / chassis intrusion support
dmesg | grep -iE 'hwmon|hp|wmi|intrusion' | tail -n 80
Print how much ram memory we got and how many memory cards we use
dmidecode -t 17 | grep "Size:" | grep -v "No Module"
Print ddr type we got in use
dmidecode -t 17|grep -wi 'Type:'|sed 's/\t//g'
Print bios release date
dmidecode -s bios-release-date
Available String Options
System strings
dmidecode -s system-manufacturer
dmidecode -s system-product-name
dmidecode -s system-version
dmidecode -s system-serial-number
dmidecode -s system-uuid
BIOS strings
dmidecode -s bios-vendor
dmidecode -s bios-version
dmidecode -s bios-release-date
Baseboard strings
dmidecode -s baseboard-manufacturer
dmidecode -s baseboard-product-name
dmidecode -s baseboard-version
dmidecode -s baseboard-serial-number
Chassis strings
dmidecode -s chassis-manufacturer
dmidecode -s chassis-type
dmidecode -s chassis-version
dmidecode -s chassis-serial-number
Processor strings
dmidecode -s processor-family
dmidecode -s processor-manufacturer
dmidecode -s processor-version
dmidecode -s processor-frequency
Output Options
- Formatting Options
Quiet output (suppress headers)
dmidecode -q -t system
No piping warning
dmidecode --no-sysfs -t memory
Dump raw DMI data
dmidecode --dump-bin dmi.bin
Read from binary dump
dmidecode --from-dump d
Check what´s available without being root
dmidecode 2>/dev/null || echo "Root access required for complete information"
Show all information about system
dmidecode
Motherboard Information
dmidecode -t baseboard | awk -F: '
/Manufacturer:/ {print "Motherboard Manufacturer:" $2}
/Product Name:/ {print "Motherboard Model:" $2}
/Version:/ {print "Motherboard Version:" $2}
/Serial Number:/{print "Motherboard Serial:" $2}
'
Memory Details
dmidecode -t 17 | grep -E "(Size|Speed|Manufacturer|Part Number)" | grep -v "No Module"
Total installed ram memory in megabyte
dmidecode -t 17 | grep "Size:" | grep -v "No Module" | awk '{sum+=$2} END {print sum " MB"}'
Maximum memory capacity
dmidecode -t 16 | grep "Maximum Capacity"
CPU Information
dmidecode -t processor | grep -E "(Version|Family|Max Speed|Current Speed|Core Count|Thread Count)"
Sanitize Output
dmidecode "$@" | sed 's/Serial Number:.*/Serial Number: [REDACTED]/'
Get license info
get_license_info() {
u=$(dmidecode -s system-uuid); b=$(dmidecode -s baseboard-serial-number)
printf "UUID: %s\nSerial: %s\nManufacturer: %s\nModel: %s\nFingerprint: %s\n" \
"$u" "$(dmidecode -s system-serial-number)" "$(dmidecode -s system-manufacturer)" \
"$(dmidecode -s system-product-name)" "$(printf %s "$u$b" | sha256sum | cut -d' ' -f1)"
}
get_license_info