Dmidecode – Easy Way To Get Linux System Hardware Information

There are plenty of tools is available in Linux to check hardware information of your Linux system. Most of the commands report only specific hardware components like cpu or memory or hard disk but Dmidecode commands alone cover most of the hardware information’s.

Dmidecode is a tool which reads a computer’s DMI (stands for Desktop Management Interface) (some say SMBIOS – stands for System Management BIOS) table contents and display system hardware information in a human-readable format.

This table contains a description of the system’s hardware components, as well as other useful information such as serial number, Manufacturer information, Release Date, and BIOS revision, etc,.,

Also read following articles which is related to Linux hardware.

Suggested Read :
(#) ScreenFetch – Fetch Linux System Information on Terminal with Distribution ASCII art logo
(#) inxi – A Great Tool to Check Hardware Information on Linux
(#) LSHW (Hardware Lister) – A Nifty Tool To Get A Hardware Information On Linux
(#) 16 Methods To Check If A Linux System Is Physical or Virtual Machine

The DMI table doesn’t only describe what the system is currently made of, it also can report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported). This will help you to analyze your hardware capability like whether it’s support latest application version or not?

As you run it, dmidecode will try to locate the DMI table. If it succeeds, it will then parse this table and display a list of records which you expect.

First, learn about DMI Types and its keywords, so that we can play nicely without any trouble otherwise we can’t.

DMI Types : The SMBIOS specification defines the following DMI types.

Type    Information                     Type    Information
--------------------------------------------------------------------------
0       BIOS                            21      Built-in Pointing Device
1       System                          22      Portable Battery
2       Base Board                      23      System Reset
3       Chassis                         24      Hardware Security
4       Processor                       25      System Power Controls
5       Memory Controller               26      Voltage Probe
6       Memory Module                   27      Cooling Device
7       Cache                           28      Temperature Probe
8       Port Connector                  29      Electrical Current Probe
9       System Slots                    30      Out-of-band Remote Access
10      On Board Devices                31      Boot Integrity Services
11      OEM Strings                     32      System Boot
12      System Configuration Options    33      64-bit Memory Error
13      BIOS Language                   34      Management Device
14      Group Associations              35      Management Device Component
15      System Event Log                36      Management Device Threshold Data
16      Physical Memory Array           37      Memory Channel
17      Memory Device                   38      IPMI Device
18      32-bit Memory Error             39      Power Supply
19      Memory Array Mapped Address     40      Additional Information
20      Memory Device Mapped Address    41      Onboard Device

Keywords can be used instead of type numbers with --type. Each keyword is equivalent to a list of type numbers.

Keyword           Types
-----------------------------------
bios              0
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

How to Install Dmidecode in Linux

Dmidecode is available in most of the major distributions repositories. So, use your distribution package manager to get installed.

For Debian based systems, use apt-get command or apt command to install dmidecode.

$ sudo apt-get install dmidecode

For RHEL/CentOS based systems, use yum command to install dmidecode.

$ sudo yum install dmidecode

For Fedora system, use dnf command to install dmidecode.

$ sudo dnf install dmidecode

For openSUSE system, use zypper command to install dmidecode.

$ sudo zypper in dmidecode

For Arch Linux based systems, use pacman command to install dmidecode.

$ sudo pacman -S dmidecode

Print Default Output of Dmidecode

To check all the supported hardware information in single command, just run dmidecode command without any other options, which will shows all the hardware information by reading DMI table from DMI type 0 to DMI type 41.

# dmidecode | more

# dmidecode 2.12
SMBIOS 2.4 present.
556 structures occupying 28064 bytes.
Table at 0x000E0010.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: Phoenix Technologies LTD
        Version: 6.00
        Release Date: 10/22/2013
        Address: 0xE9AB0
        Runtime Size: 91472 bytes
        ROM Size: 64 kB
        Characteristics:
                ISA is supported
                PCI is supported
                PC Card (PCMCIA) is supported
                PNP is supported
                APM is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                ESCD support is available
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                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)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                Smart battery is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
.
.
.
Handle 0x0053, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Matrox G200
        Type: Video
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:04:00.0
 
Handle 0xFEFE, DMI type 126, 4 bytes
Inactive

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table

How To Get BIOS Information

To get BIOS information using dmidecode, run the dmidecode command with -t option followed by bios keyword.

This will print the detailed BIOS information such as BIOS Version, Vendor name, release date, runtime size, ROM size, BIOS revision, firmware revision, etc.,.

# dmidecode -t bios

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

Handle 0x0023, DMI type 0, 24 bytes
BIOS Information
        Vendor: IBM
        Version: -[VVE134MUS-1.50]-
        Release Date: 08/30/2013
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 8192 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
                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
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        BIOS Revision: 1.50
        Firmware Revision: 3.10

Handle 0x004C, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 1
                English
        Currently Installed Language: English

How To Get System Information

To get system information using dmidecode, run the dmidecode command with -t option followed by system keyword.

This will combine DMI types (1, 12, 15, 23 & 32 – system information, System Configuration Options, System Event Log, System Reset, and 64-bit Memory Error) and print the detailed system information such as manufacturer name, product name, Version, serial number, UUID, wake-up type, SKU number, family, etc.,.

# dmidecode -t system

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

Handle 0x0024, DMI type 1, 27 bytes
System Information
        Manufacturer: IBM
        Product Name: System x3550 M2: -[7284AC1]-
        Version: 0B
        Serial Number: KQ5CY39
        UUID: 04F7D09A-A7EB-3BB7-B5AC-38BF37272476
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: System X

Handle 0x004B, DMI type 12, 5 bytes
System Configuration Options
        Option 1: JP20 pin1-2: TPM PP Disable, pin2-3: TPM PP Enable

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

How To Get Baseboard Information

To get baseboard information using dmidecode, run the dmidecode command with -t option followed by baseboard keyword.

This will combine DMI types (2, 10, 41 – Base Board, On Board Devices, and Onboard Device) and print the detailed system baseboard information such as manufacturer name, product name, Version, serial number, chassis type, chassis handle, type, etc.,.

# dmidecode -t baseboard

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

Handle 0x0025, DMI type 2, 16 bytes
Base Board Information
        Manufacturer: IBM
        Product Name: 00Y8494
        Version: Not Specified
        Serial Number: 37M17D
        Asset Tag: Not Specified
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Blade
        Chassis Handle: 0x0026
        Type: Motherboard
        Contained Object Handles: 0

Handle 0x004E, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: LSI 2208 SAS Controller
        Type: SAS Controller
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:16:00.0

Handle 0x004F, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel i350
        Type: Ethernet
        Status: Enabled
        Type Instance: 2
        Bus Address: 0000:06:00.0

Handle 0x0050, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel i350
        Type: Ethernet
        Status: Enabled
        Type Instance: 3
        Bus Address: 0000:06:00.1

Handle 0x0051, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel i350
        Type: Ethernet
        Status: Enabled
        Type Instance: 4
        Bus Address: 0000:06:00.2

Handle 0x0052, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel i350
        Type: Ethernet
        Status: Enabled
        Type Instance: 5
        Bus Address: 0000:06:00.3

Handle 0x0053, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Matrox G200
        Type: Video
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:04:00.0

How To Get Chassis Information

To get chassis information using dmidecode, run the dmidecode command with -t option followed by chassis keyword.

This will print the detailed chassis information such as manufacturer name, Mount type, Boot-up state, power supply state, thermal state, security status, OEM information, etc.,.

# dmidecode -t chassis

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

Handle 0x0026, DMI type 3, 22 bytes
Chassis Information
        Manufacturer: IBM
        Type: Rack Mount Chassis
        Lock: Not Present
        Version: none
        Serial Number: none
        Asset Tag: none
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Other
        Security Status: Other
        OEM Information: 0x00000000
        Height: Unspecified
        Number Of Power Cords: Unspecified
        Contained Elements: 0
        SKU Number: Not Specified

How To Get processor Information

To get processor information using dmidecode, run the dmidecode command with -t option followed by processor keyword.

This will print the detailed processor information such as socket designation, processor type, family, manufacturer name, ID, Signature, available flags, version, voltage, external clock, max speed, current speed, status, upgrade, L1, L2, L3 cache handle, core count, core enabled, thread count, etc.,.

# dmidecode -t processor

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

Handle 0x0001, DMI type 4, 42 bytes
Processor Information
        Socket Designation: Socket 1
        Type: Central Processor
        Family: Xeon
        Manufacturer: Intel(R) Corporation
        ID: D7 06 02 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 45, Stepping 7
        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 E5-2650 0 @ 2.00GHz
        Voltage: 1.2 V
        External Clock: 100 MHz
        Max Speed: 4000 MHz
        Current Speed: 2000 MHz
        Status: Populated, Enabled
        Upgrade: Socket LGA2011
        L1 Cache Handle: 0x0003
        L2 Cache Handle: 0x0004
        L3 Cache Handle: 0x0005
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified
        Core Count: 8
        Core Enabled: 8
        Thread Count: 16
        Characteristics:
                64-bit capable
                Multi-Core
                Hardware Thread
                Execute Protection
                Enhanced Virtualization
                Power/Performance Control

How To Get memory Information

To get memory information using dmidecode, run the dmidecode command with -t option followed by memory keyword.

This will print the detailed information about memory such as Physical memory array, memory device, array handle, total width, data width, size, maximum capacity, etc.,.

# dmidecode -t memory | more

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

Handle 0x0009, DMI type 16, 23 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: Single-bit ECC
        Maximum Capacity: 1536 GB
        Error Information Handle: Not Provided
        Number Of Devices: 24

Handle 0x000A, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x0009
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 8192 MB
        Form Factor: DIMM
        Set: 1
        Locator: DIMM 1
        Bank Locator: Bank 1
        Type: DDR3
        Type Detail: Registered (Buffered)
        Speed: 1600 MHz
        Manufacturer: Hynix
        Serial Number: 218976B7
        Asset Tag: Unknown
        Part Number: HMT31GR7EFR4C-PB
        Rank: 2
        Configured Clock Speed: 1600 MHz
.
.
.
Handle 0x0021, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x0009
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: Unknown
        Set: 24
        Locator: DIMM 24
        Bank Locator: Bank 24
        Type: Unknown
        Type Detail: None
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Bank 8
        Asset Tag: Not Specified
        Part Number: Not Specified
        Rank: Unknown
        Configured Clock Speed: Unknown

How To Get cache Information

To get BIOS information using dmidecode, run the dmidecode command with -t option followed by cache keyword.

This will print the detailed information about cache such as socket designation, configuration, operational mode, location , installed size, maximum size, supported SRAM types, installed SRAM types, error correction type, system type, etc.,.

# dmidecode -t cache

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.

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

How To Get connector Information

To get BIOS information using dmidecode, run the dmidecode command with -t option followed by connector keyword.

# dmidecode -t connector

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.
 
Handle 0x0027, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: None
        Internal Connector Type: None
        External Reference Designator: Video 1
        External Connector Type: DB-15 female
        Port Type: Video Port
 
Handle 0x0028, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: None
        Internal Connector Type: None
        External Reference Designator: Video 2
        External Connector Type: DB-15 female
        Port Type: Video Port

How To Get slot Information

To get BIOS information using dmidecode, run the dmidecode command with -t option followed by slot keyword.

# dmidecode -t slot

# dmidecode 2.12
# SMBIOS entry point at 0x7e7bf000
SMBIOS 2.7 present.
 
Handle 0x003B, DMI type 9, 17 bytes
System Slot Information
        Designation: PCI-Express Slot 1
        Type: x8 PCI Express 3 x16
        Current Usage: Available
        Length: Long
        Characteristics:
                3.3 V is provided
        Bus Address: 0000:1b:00.0

Handle 0x003C, DMI type 9, 17 bytes
System Slot Information
        Designation: PCI-Express Slot 2
        Type: x8 PCI Express 3 x16
        Current Usage: Available
        Length: Long
        Characteristics:
                3.3 V is provided
        Bus Address: 0000:20:00.0
 
Handle 0x003D, DMI type 9, 17 bytes
System Slot Information
        Designation: PCI-Express Slot 3
        Type: x8 PCI Express 3 x16
        Current Usage: Available
        Length: Long
        Characteristics:
                3.3 V is provided
        Bus Address: 0000:11:00.0

You may also like...

Shares
Close
Please support the site
By clicking any of these buttons you help our site to get better