12 Useful ‘dmidecode’ Command Examples for Linux Admin

Dmidecode is a tool or command which is used to retrieve the useful information of your system’s hardware components in human readable format. Dmidecode is available for all the Linux like systems (RHEL, CentOS, Debian and SUSE). Dmidecode stands for DMI (Desktop Management Interface) table decoder, as the name suggests it reads the data from DMI table and represents to us in human readable format. DMI table holds the system hardware details like BIOS, Serial Number, RAM(DIMMs) and CPU details etc, apart from this dmidecode can also retrieve details about the maximum system supported configuration (like DIMMs & Processors etc).

In this article we will try to cover 12 useful dmidecode examples for Linux systems.

Example 1) Understanding dmidecode command output

When we run the dmidecode command then it displays the output on the screen, in the output we have the records, each record has 4 different values.

  • Handle – Unique identifier number
  • Type – It tells about the hardware components, in below example DMI type 38 refers to IPMI device
  • Size – Size of record
  • Decoded value – Information about the type of record, in the below example decoded values of IPMI device are Interface Type, Specification Version, Base Address & Register Spacing

Let’s run the dmidecode command,

[root@linuxtechi ~]# dmidecode | more

Output would be something like below

dmidecode-command-output

Example 2) Different DMI types used in dmidecode command

Followings are the  DMI types that are used on dmidecode command

       Type   Information
       --------------------------------------------
          0   BIOS
          1   System
          2   Baseboard
          3   Chassis
          4   Processor
          5   Memory Controller
          6   Memory Module
          7   Cache
          8   Port Connector
          9   System Slots
         10   On Board Devices
         11   OEM Strings
         12   System Configuration Options
         13   BIOS Language
         14   Group Associations
         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 Access31   Boot Integrity Services
         32   System Boot
         33   64-bit Memory Error
         34   Management Device
         35   Management Device Component
         36   Management Device Threshold Data
         37   Memory Channel
         38   IPMI Device
         39   Power Supply
         40   Additional Information
         41   Onboard Devices Extended Information
         42   Management Controller Host Interface
       Keyword     Types
       ------------------------------
       bios        0, 13
       system      1, 12, 15, 23, 32
       baseboard   2, 10, 41
       chassis     3
       processor   4
       memory      5, 6, 16, 17
       cache       7
       connector   8
       slot        9

Example 3) Display hardware information using type id

In dmidecode command we can use either keyword or type id to get hardware information of system, In example 2 we have already listed the keyword and its type id. let’s assume we want to display cache information of your system, then we can run any of the below command,

[root@linuxtechi ~]# dmidecode -t cache
Or
[root@linuxtechi ~]# dmidecode -t 7
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x009C, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1-Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Back
        Location: Internal
        Installed Size: 192 kB
        Maximum Size: 192 kB
        Supported SRAM Types:
                Synchronous
        Installed SRAM Type: Synchronous
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Data
        Associativity: 8-way Set-associative

Handle 0x009D, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1-Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Back
        Location: Internal
        Installed Size: 192 kB
        Maximum Size: 192 kB
        Supported SRAM Types:
                Synchronous
        Installed SRAM Type: Synchronous
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Instruction
        Associativity: 4-way Set-associative
…………………………………………………………………………

Read More : 10 tips about ‘dmesg’ command for Linux Geeks

Example 4) Display the Information about BIOS

Run below dmidecode command followed by bios as type

[root@linuxtechi ~]# dmidecode --type bios
 Or
[root@linuxtechi ~]# dmidecode -t bios
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0005, DMI type 0, 24 bytes
BIOS Information
        Vendor: Intel Corp.
        Version: QSSC-S4R.QCI.01.00.0037.061120141015
        Release Date: 06/11/2014
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16384 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                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)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                LS-120 boot is supported
                ATAPI Zip drive boot is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        BIOS Revision: 17.18
        Firmware Revision: 0.0

Example 5) Display Hardware Information about the Chassis

Run the following dmidecode command to display information about the chassis

[root@linuxtechi ~]# dmidecode -t chassis
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0004, DMI type 3, 22 bytes
Chassis Information
        Manufacturer: ..............................
        Type: Main Server Chassis
        Lock: Not Present
        Version: 32S4RCS0010
        Serial Number: QTFCVR1110136
        Asset Tag: ....................
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: Unknown
        OEM Information: 0x01000181
        Height: 1 U
        Number Of Power Cords: 1
        Contained Elements: 0
        SKU Number: Not Specified

Example 6) Display Hardware Information about baseboard

Execute the beneath dmidecode command to display hardware information about your system baseboard,

[root@linuxtechi ~]# dmidecode -t baseboard
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0003, DMI type 2, 16 bytes
Base Board Information
        Manufacturer: QCI
        Product Name: QSSC-S4R
        Version: 31S4RMB00B0
        Serial Number: LVR1340271
        Asset Tag: ....................
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Not Specified
        Chassis Handle: 0x0004
        Type: Motherboard
        Contained Object Handles: 0

Handle 0x0027, DMI type 10, 6 bytes
On Board Device Information
        Type: Video
        Status: Enabled
        Description: ServerEngines Pilot II

Handle 0x0028, DMI type 10, 6 bytes
On Board Device Information
        Type: Ethernet
        Status: Enabled
        Description: Intel Dual GbE #1

Handle 0x0029, DMI type 10, 6 bytes
On Board Device Information
        Type: Ethernet
        Status: Enabled
        Description: Intel Dual GbE #2

Handle 0x002A, DMI type 10, 6 bytes
On Board Device Information
        Type: SATA Controller
        Status: Enabled
        Description: ICH10 Integrated SATA Controller

Example 7) Display Hardware Information about your system

To display the hardware information (Manufacturer, Product Name & Serial Number etc) about your system, run the following dmidecode command,

[root@linuxtechi ~]# dmidecode -t system
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0002, DMI type 1, 27 bytes
System Information
        Manufacturer: QCI
        Product Name: QSSC-S4R
        Version: ....................
        Serial Number: ............
        UUID: 2DD583E2-4A58-11E0-A580-00101859A783
        Wake-up Type: AC Power Restored
        SKU Number: Not Specified
        Family: Not Specified

Handle 0x002C, DMI type 12, 5 bytes
System Configuration Options
        Option 1: J5C3 2-3: Close to clear Password

Handle 0x002D, DMI type 12, 5 bytes
System Configuration Options
        Option 1: J5C2 2-3: Close to clear CMOS

Handle 0x002E, DMI type 12, 5 bytes
System Configuration Options
        Option 1: J6D1 2-3: Close for BIOS Recovery

Handle 0x002F, DMI type 12, 5 bytes
System Configuration Options
        Option 1: J5C1 2-3: Close to Force ME Update Mode

Handle 0x0030, DMI type 12, 5 bytes
System Configuration Options
        Option 1: J9C3: SATA RAID Key

Handle 0x0031, DMI type 12, 5 bytes
System Configuration Options
        Option 1: J5A1 2-3: Close to Force BMC Update Mode

Handle 0x0034, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

Read More : Learn Git Command with Practical Examples on Linux – Part 1

Example 8) Display Information of about Installed Physical Memory and DIMMs

To display information about installed Physical Memory (RAM), run the below command

[root@linuxtechi ~]# dmidecode -t 17 
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0043, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0035
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 72 bits
        Size: 4096 MB
        Form Factor: DIMM
        Set: 1
        Locator: DIMM_1B
        Bank Locator: MEM1 SLOT
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1067 MHz
        Manufacturer: 0x0198
        Serial Number: 0xA504DB27
        Asset Tag: Unknown
        Part Number: 9965426-047.A00LF

Handle 0x0045, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0035
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 72 bits
        Size: 4096 MB
        Form Factor: DIMM
        Set: 2
        Locator: DIMM_1A
        Bank Locator: MEM1 SLOT
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1067 MHz
        Manufacturer: 0x830B
        Serial Number: 0x6C443023
…………………………………………………………

In the above command output we can easily find the DIMM location, RAM Serial Number, Type and its speed.

Use below dmidecode command to find the maximum physical memory supported by your system,

[root@linuxtechi ~]# dmidecode -t 16 
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0035, DMI type 16, 15 bytes
Physical Memory Array
        Location: Proprietary Add-on Card
        Use: System Memory
        Error Correction Type: Multi-bit ECC
        Maximum Capacity: 256 GB
        Error Information Handle: Not Provided
        Number Of Devices: 8

Handle 0x0037, DMI type 16, 15 bytes
Physical Memory Array
        Location: Proprietary Add-on Card
        Use: System Memory
        Error Correction Type: Multi-bit ECC
        Maximum Capacity: 256 GB
        Error Information Handle: Not Provided
        Number Of Devices: 8

Handle 0x0039, DMI type 16, 15 bytes
Physical Memory Array
        Location: Proprietary Add-on Card
        Use: System Memory
        Error Correction Type: Multi-bit ECC
        Maximum Capacity: 256 GB
        Error Information Handle: Not Provided
        Number Of Devices: 8
……………………………………………………………

Example 9) Display Hardware information about the Processor (or CPU Sockets)

Run the below dmidecode command to display the hardware information of processor or CPU sockets

[root@linuxtechi ~]# dmidecode -t processor
or
[root@linuxtechi ~]# dmidecode -t 4
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x009B, DMI type 4, 40 bytes
Processor Information
        Socket Designation: CPU1
        Type: Central Processor
        Family: Xeon MP
        Manufacturer: Intel(R) Corporation
        ID: E6 06 02 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 46, Stepping 6
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Xeon(R) CPU           E7540  @ 2.00GHz
        Voltage: 1.2 V
        External Clock: 133 MHz
        Max Speed: 4000 MHz
        Current Speed: 2000 MHz
        Status: Populated, Enabled
        Upgrade: Socket LGA1567
        L1 Cache Handle: 0x009D
        L2 Cache Handle: 0x009E
        L3 Cache Handle: 0x009F
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified
        Core Count: 6
        Core Enabled: 6
        Thread Count: 12
        Characteristics:
                64-bit capable
…………………………………………………

Example 10) Display information about 64-bit Memory Error

To display the 64-bit Memory Error information of your system, run the beneath dmidecode command,

[root@linuxtechi ~]# dmidecode -t 33

Example 11) Dump dmidecode command output in Hexadecimal

In case if you don’t want to decode the dmidecode command output but you want to dump it as hexadecimal format, then use “-u” or “–dump” option in dmidecode command, example is shown below,

[root@linuxtechi ~]# dmidecode -u -t 4
or
[root@linuxtechi ~]# dmidecode --dump -t 4

Note: dump option in dmidecode command becomes very handy in debugging scenarios

Example 12 ) Display dmidecode version

Use the below dmidecode command to display its version

[root@linuxtechi ~]# dmidecode -V
2.12
[root@linuxtechi ~]#

That’s all from this article, if you want to read more on dmidecode command please refer its man page. Please do share your feedback and comments.

Read More : How to Monitor Linux Systems Performance with iostat command

3 thoughts on “12 Useful ‘dmidecode’ Command Examples for Linux Admin”

  1. I am looking for a simple DMIdecode response that says either “All normal” or something is not right. If it responds with all normal then I do not need to go any further. If something is not right, then I need to dig further for answers.

    1. I’m trying to find out similar information – where to get details about errors; Seems like folks want to keep the secrets to themselves.

  2. Hello,
    I’m getting this output:
    root@NAS:~# dmidecode -H 0x14
    # dmidecode 3.3
    Getting SMBIOS data from sysfs.
    SMBIOS 2.8 present.
    51 structures occupying 2030 bytes.
    Table at 0x000ECBC0.

    Handle 0x0014, DMI type 8, 9 bytes
    Port Connector Information
    Internal Reference Designator: J3C1 – GMCH FAN
    Internal Connector Type: Other
    External Reference Designator: Not Specified
    External Connector Type: None
    Port Type: Other

    So, how can I find out, how to read and control the system fan?
    I didn’t find anything useful in the web.
    Regards,
    Tom

Leave a Comment

Your email address will not be published. Required fields are marked *