dmidecode Command in Linux

Introduction

This lab offers an introduction to the dmidecode command, an essential utility for gathering in-depth hardware details on Linux systems. Mastering the dmidecode command empowers you to uncover extensive hardware specifications, including the system's manufacturer, model identifier, serial number, BIOS version, processor attributes, and memory layout. Our journey begins with the installation of the dmidecode package, followed by practical exercises to harness the command's capabilities in examining the system's hardware profile. Furthermore, we'll illustrate how to pinpoint and extract particular hardware information, such as processor specifics, using dmidecode.

Introduction to dmidecode Command

This section introduces the dmidecode command, a critical tool for systemadmin tasks, providing access to comprehensive hardware information on your Linux systems.

The dmidecode command, a valuable free software tool, extracts hardware information directly from the BIOS according to the SMBIOS/DMI standard. It exposes a wealth of hardware data, encompassing the system manufacturer, model identifier, serial number, BIOS version, processor characteristics, memory configuration, and much more, proving invaluable for Linux systemadmin.

First, install the dmidecode package:

sudo apt-get update
sudo apt-get install -y dmidecode

Now, execute the dmidecode command to reveal your system's hardware inventory:

sudo dmidecode

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: VMware, Inc.
        Product Name: VMware Virtual Platform
        Version: None
        Serial Number: VMware-42 1d 93 c1 d1 2f 2a 19-5a 1c 4f 3b 6a 4f 9a 6d
        UUID: 421d93c1-d12f-2a19-5a1c-4f3b6a4f9a6d
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: Virtual Machine

The output presents an extensive dataset regarding your system's hardware composition, including the manufacturer, product designation, serial identification, UUID, and other pertinent details. This information is essential for any systemadmin.

You can isolate and extract precise hardware insights using the dmidecode command. To retrieve processor details, for instance, execute the following:

sudo dmidecode -t processor

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0003, DMI type 3, 21 bytes
Chassis Information
        Manufacturer: VMware, Inc.
        Type: Virtual Machine
        Lock: Not Present
        Version: None
        Serial Number: VMware-42 1d 93 c1 d1 2f 2a 19-5a 1c 4f 3b 6a 4f 9a 6d
        Asset Tag: Not Specified
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: None

This command unveils comprehensive data pertaining to the system's processor, including the manufacturer, model type, operational speed, and other relevant specifications.

The dmidecode command serves as an indispensable resource for system administrators and IT professionals, offering a wealth of hardware information. Upcoming sections will delve into practical scenarios showcasing the use of dmidecode for retrieving targeted hardware details.

Displaying System Hardware Information

This segment guides you through utilizing the dmidecode command to present detailed information about your system's hardware components, a key skill for any Linux systemadmin.

Begin by using the dmidecode command to display overarching system information:

sudo dmidecode -t system

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: VMware, Inc.
        Product Name: VMware Virtual Platform
        Version: None
        Serial Number: VMware-42 1d 93 c1 d1 2f 2a 19-5a 1c 4f 3b 6a 4f 9a 6d
        UUID: 421d93c1-d12f-2a19-5a1c-4f3b6a4f9a6d
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: Virtual Machine

This command reveals the system's manufacturer, product designation, serial number, UUID, and other essential attributes.

Next, reveal information concerning the system's processor:

sudo dmidecode -t processor

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0003, DMI type 3, 21 bytes
Chassis Information
        Manufacturer: VMware, Inc.
        Type: Virtual Machine
        Lock: Not Present
        Version: None
        Serial Number: VMware-42 1d 93 c1 d1 2f 2a 19-5a 1c 4f 3b 6a 4f 9a 6d
        Asset Tag: Not Specified
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: None

This command furnishes granular details about the system's processor, encompassing the manufacturer, model specifications, speed metrics, and other pertinent specifications. This is crucial for systemadmin tasks related to performance monitoring.

Finally, present information about the system's memory configuration:

sudo dmidecode -t memory

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0017, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0016
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 16384 MB
        Form Factor: DIMM
        Set: None
        Locator: DIMM 0
        Bank Locator: DIMM 0
        Type: DDR4
        Type Detail: Synchronous
        Speed: 2400 MT/s
        Manufacturer: VMware
        Serial Number: VMware-42 1d 93 c1 d1 2f 2a 19-5a 1c 4f 3b 6a 4f 3b 6a 4f 9a 6d
        Asset Tag: Not Specified
        Part Number: VMware Virtual RAM
        Rank: 2
        Configured Memory Speed: 2400 MT/s

This command displays detailed specifications regarding the system's memory modules, including size, type, operational speed, and further relevant attributes. This is important for any Linux systemadmin managing server resources.

The dmidecode command is adaptable for presenting a broad spectrum of hardware information, with specific data output contingent on the system's underlying hardware architecture.

Extracting Specific Hardware Details

This section explores the capabilities of the dmidecode command in extracting focused hardware information from the system.

Begin by extracting BIOS details:

sudo dmidecode -t bios

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: Phoenix Technologies LTD
        Version: 6.00
        Release Date: 12/12/2018
        Address: 0xE8000
        Runtime Size: 128 kB
        ROM Size: 1024 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported

This command presents exhaustive details concerning the system's BIOS, including the vendor, version number, release date, and diverse BIOS characteristics.

Next, extract data relating to the system's chassis:

sudo dmidecode -t chassis

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0003, DMI type 3, 21 bytes
Chassis Information
        Manufacturer: VMware, Inc.
        Type: Virtual Machine
        Lock: Not Present
        Version: None
        Serial Number: VMware-42 1d 93 c1 d1 2f 2a 19-5a 1c 4f 3b 6a 4f 9a 6d
        Asset Tag: Not Specified
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: None

This command provides information about the system's chassis, including manufacturer, type, serial number, and different chassis states. This is particularly relevant for systemadmin managing physical server infrastructure.

Lastly, extract insights into the system's expansion slots:

sudo dmidecode -t slot

Example output:

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0008, DMI type 9, 17 bytes
System Slot Information
        Designation: PCI Slot 1
        Type: 32-bit PCI
        Current Usage: Available
        Length: Long
        ID: 1
        Characteristics:
                3.3 V is provided
                PME signal is supported

Handle 0x0009, DMI type 9, 17 bytes
System Slot Information
        Designation: PCI Slot 2
        Type: 32-bit PCI
        Current Usage: Available
        Length: Long
        ID: 2
        Characteristics:
                3.3 V is provided
                PME signal is supported

This command displays information concerning the system's expansion slots, including their designation, type, current operational status, and various slot properties.

The dmidecode command delivers an expansive array of detailed hardware insights, with the specific information showcased dependent on the system's hardware composition. It's a valuable tool for any systemadmin needing to understand the hardware configuration.

Summary

This lab introduced the dmidecode command, a potent tool for retrieving detailed hardware information on Linux systems, directly from the BIOS. We established that dmidecode effectively presents a spectrum of hardware specifications, including system manufacturer data, model identifiers, serial numbers, BIOS version details, processor characteristics, and memory configurations. Practical illustrations and step-by-step guides have been provided to facilitate the user's understanding and effective utilization of the dmidecode command, making it a vital skill for any systemadmin or anyone working with Linux servers, especially when troubleshooting or inventorying hardware.

400+ Linux Commands