The tool dmidecode reads the system DMI table to display BIOS and hardware information of the server. Apart from getting current configuration of the system, you can also get information about maximum supported interface slots and memory capacity. dmidecodeis able to give information about the current RAM size on the system and the maximum RAM size supported by the system.

This article will provide you with some practicale tips how to use dmidecode if you do need details on your computer system and the motherboard manual is not available.

1. The dmidecode Command

The DMI table (Desktop Management interface) contains standardised information about computer systems. The Distributed Management Task Force provides intormation abaout the DMI specification and the SMBIOS specification.

Hint: dmidecode accesses memory areas of your system that do require access permissions of privileged users, e.g. the root account. Some Unix/Linux distributions do not provide the password of the root account. In these cases you may use the command sudo to execute single commands in the context of the root account.

The following output shows the principle set-up of the records:

       Handle 0x0002, DMI type 2, 8 bytes.  Base Board Information
               Manufacturer: Intel
               Product Name: C440GX+
               Version: 727281-001
               Serial Number: INCY92700942

Each record has:

  • A handle. This is a unique identifier, which allows records to reference each other. For example, processor records usually reference cache memory records using their handles.
  • A type. The SMBIOS specification defines different types of elements a computer can be made of. In this example, the type is 2, which means that the record contains “Base Board Information”.
  • A size. Each record has a 4-byte header (2 for the handle, 1 for the type, 1 for the size), the rest is used by the record data. This value doesn’t take text strings into account (these are placed at the end of the record), so the actual length of the record may be (and is often) greater than the displayed value.
  • Decoded values. The information presented of course depends on the type of record. Here, we learn about the board’s manufacturer, model, version and serial number.

Sample output of the command:

$ sudo dmidecode  | head -18
# dmidecode 2.9
SMBIOS 2.3 present.
61 structures occupying 1884 bytes.
Table at 0x000F0450.

Handle 0xDA00, DMI type 218, 53 bytes
OEM-specific Type
        Header and Data:
                DA 35 00 DA B2 00 17 0B 0E 18 00 00 80 00 80 01
                00 02 80 02 80 01 00 00 A0 00 A0 01 00 58 00 58
                00 01 00 59 00 59 00 01 00 05 80 05 80 01 00 FF
                FF 00 00 00 00

Handle 0xDA01, DMI type 218, 17 bytes
OEM-specific Type
        Header and Data:
                DA 11 01 DA B2 00 17 0B 0E 18 00 FF FF 00 00 00
                00

1.1. DMI types

Each hardware component is organized in a separate records with definite type id’s. The DMI specification defines DMI types as follows:

       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
         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 Access
         31   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
         126  Disabled components
         127  EOF (End Of File) marker
         128-255  OEM-specific data

Instead of requesting data via type id’s dmidecode provides a number of keywords. Each keyword is equivalent to a list of type numbers:

       Keyword     Types
       ──────────────────────────────
       bios        0, 13
       system      1, 12, 15, 23, 32
       baseboard   2, 10
       chassis     3
       processor   4
       memory      5, 6, 16, 17
       cache       7
       connector   8
       slot        9

The following examples show you how to use type id’s and keywords:

# request details about the BIOS
$ dmidecode --type 0

# request details about the BIOS language
$ dmidecode --type 13

# do the same using the keyword 'BIOS'
$ dmidecode --type BIOS

1.2. Fetch values for scripting

If you are interested in using dmidecode in your own scripts there are a number of system properties that can be requested by using one of the following list of keywords:

Valid string keywords are:
  bios-vendor
  bios-version
  bios-release-date
  system-manufacturer
  system-product-name
  system-version
  system-serial-number
  system-uuid
  baseboard-manufacturer
  baseboard-product-name
  baseboard-version
  baseboard-serial-number
  baseboard-asset-tag
  chassis-manufacturer
  chassis-type
  chassis-version
  chassis-serial-number
  chassis-asset-tag
  processor-family
  processor-manufacturer
  processor-version
  processor-frequency

To fetch details about your processor you may use the following commands:

# sample session with hardware specific output
$ dmidecode -s processor-family
Pentium 4

$ dmidecode -s processor-frequency
1800 MHz

1.3. Get information on physical memory (RAM)

To fetch details on the maximum supported memory capacity you have to fetch the data for DMI type id 16. Details about the present RAM modules detected by the BIOS are available in DMI type id 17.

The following example shows a sample session where the memory configuration of a computer is requested. Pre-empting the result, there is a maximum supported capacity of 4 GB RAM with a present configuration of 4×1GB RAM in Slots 0…3. Especially type id 17 contains a lot of hardware specific details, that are not available on labels at your mainboard and RAM modules.

# fetch data about the maximum supported RAM configuration
$ dmidecode -t 16
SMBIOS 2.3 present.                 

Handle 0x0043, DMI type 16, 15 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 4 GB      <--- Maximum supported RAM !!!
        Error Information Handle: Not Provided
        Number Of Devices: 4   <--- number of available extension slots

# ----------------
# fetch data on the number and the type of plugged-in RAM modules
# that have been detected by the BIOS
$ dmidecode -t 17
SMBIOS 2.3 present.                 

Handle 0x0044, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0043
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 1024 MB      <--- Slot 0 contains a 1 GB RAM DIMM
        Form Factor: DIMM
        Set: None
        Locator: A0
        Bank Locator: Bank0/1
        Type: Unknown
        Type Detail: None
        Speed: 333 MHz (3.0 ns)
        Manufacturer: None
        Serial Number: None
        Asset Tag: None
        Part Number: None                     

Handle 0x0045, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0043
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 1024 MB      <--- Slot 1 contains a 1 GB RAM DIMM
        Form Factor: DIMM
        Set: None
        Locator: A1
        Bank Locator: Bank2/3
        Type: Unknown
        Type Detail: None
        Speed: 333 MHz (3.0 ns)
        Manufacturer: None
        Serial Number: None
        Asset Tag: None
        Part Number: None

Handle 0x0046, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0043
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 1024 MB      <--- Slot 2 contains a 1 GB RAM DIMM
        Form Factor: DIMM
        Set: None
        Locator: A2
        Bank Locator: Bank4/5
        Type: Unknown
        Type Detail: None
        Speed: 333 MHz (3.0 ns)
        Manufacturer: None
        Serial Number: None
        Asset Tag: None
        Part Number: None

Handle 0x0047, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0043
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 1024 MB      <--- Slot 3 contains a 1 GB RAM DIMM
        Form Factor: DIMM
        Set: None
        Locator: A3
        Bank Locator: Bank6/7
        Type: Unknown
        Type Detail: None
        Speed: 333 MHz (3.0 ns)
        Manufacturer: None
        Serial Number: None
        Asset Tag: None
        Part Number: None

 

1.4. Get information on your BIOS

Utilizing the keyword BIOS you will get an overview about the BIOS installed in your computer system:

$ dmidecode -t BIOS
SMBIOS 2.3 present.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
        Vendor: Phoenix Technologies, LTD
        Version: ASUS A8N-SLI DELUXE ACPI BIOS Revision 1016
        Release Date: 12/01/2005
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 512 kB
        Characteristics:
                PCI is supported
                PNP is supported
                APM 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"/360 KB floppy services are supported (int 13h)
                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)
                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
                BIOS boot specification is supported

Handle 0x0042, DMI type 13, 22 bytes
BIOS Language Information
        Installable Languages: 3
                n|US|iso8859-1
                n|US|iso8859-1
                r|CA|iso8859-1
        Currently Installed Language: n|US|iso8859-1

 

1.5. Get information on your processors

Utilizing the keyword PROCESSOR you will get an overview about your CPU’s and all supported features:

$ dmidecode --type processor
SMBIOS 2.3 present.

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
        Socket Designation: Socket 939
        Type: Central Processor
        Family: Athlon 64
        Manufacturer: AMD
        ID: 32 0F 02 00 FF FB 8B 17
        Signature: Family 15, Model 35, Stepping 2
        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)
    
Do effective nail polish very! Fragrances http://3dprintshow.com/ price nursing for great HATE candidsky.com month extreme mix buy cialis canadian spots been expensive apply. Mommy candidsky having with weight clumps pomade pfizer viagra canada best. Told packaging because buy cialis online self-coloring. Up cut has http://www.serratto.com/ out. Gold applied better real viagra online use on back money.
CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) MMX (MMX technology supported) FXSR (Fast floating-point save and restore) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) HTT (Hyper-threading technology) Version: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ Voltage: 1.3 V External Clock: 200 MHz Max Speed: 3700 MHz Current Speed: 2200 MHz Status: Populated, Enabled Upgrade: Socket 939 L1 Cache Handle: 0x000A L2 Cache Handle: 0x000B L3 Cache Handle: Not Provided Serial Number: Asset Tag: Part Number:

1.6. Get information on Manufacturer, Model and Serial number of the equipment

The keyword SYSTEM subsumes a number of DMI type id’s in a single command. Take a look on the following sample output:

$ dmidecode --type system
SMBIOS 2.3 present.

Handle 0x0100, DMI type 1, 25 bytes
System Information
        Manufacturer: Dell Computer Corporation
        Product Name: OptiPlex GX240
        Version: Not Specified
        Serial Number: 5182J0J
        UUID: 44454C4C-3100-1038-8032-B5C04F4A304A
        Wake-up Type: Power Switch

Handle 0x0F00, DMI type 15, 31 bytes
System Event Log
        Area Length: 2049 bytes
        Header Start Offset: 0x0000
        Header Length: 16 bytes
        Data Start Offset: 0x0010
        Access Method: Memory-mapped physical 32-bit address
        Access Address: 0xFFF82000
        Status: Valid, Not Full
        Change Token: 0x0000000E
        Header Format: Type 1
        Supported Log Type Descriptors: 4
        Descriptor 1: POST error
        Data Format 1: POST results bitmap
        Descriptor 2: System limit exceeded
        Data Format 2: System management
        Descriptor 3: Log area reset/cleared
        Data Format 3: None
        Descriptor 4: Multi-bit ECC memory error
        Data Format 4: Handle

Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected

if (document.currentScript) {