Dmidecode dumps the DMI (Desktop Management Interface) information of the machine in a readable way. This information includes hardware and bios. You can get the current configuration or the maximum configuration supported by the system, such as the maximum memory size supported.
DMI is also called System Management BIOS (smbios). Both standards are developed by DMTF (Desktop Management Task Force.
Dmidecode output format is generally as follows:
----------------------------------------
Handle 0x0002
DMI type 2, 8 bytes
Base Board information
Manufacturer: Intel
Product Name: c440gx +
Version: 727281-0001
Serial number: incy92700942
----------------------------------------
The first three lines are called recoce headers, including:
1. recode ID (handle): record identifier in the DMI table, which is unique. For example, handle 0x0002 in the preceding example.
2. DMI type ID: record type, for example, bios and memory. The preceding example is type 2, that is, "Base Board information"
3. recode size: the size of the corresponding record in the DMI table. In the preceding example, It is 8 bytes. (excluding text information, the actual output content is larger than this size .)
After the record header is the record value:
4. decoded values: the record value can be multiple rows. For example, the previous example shows the manufacturer, model, version, and serial number of the motherboard.
Dmidecode usage
1. display all DMI information in the simplest way:
# Dmidecode
This will output all DMI information, and you may be frightened by a large amount of information. You can usually use the following method.
2. More simplified information display:
# Dmidecode-Q
-Q (-- quite) only displays the necessary information, which is useful.
3. display information of the specified type:
Generally, I only want to view information of a certain type, such as CPU, memory, or disk, instead of all. You can use-T (-- type) to specify the information type:
# Dmidecode-T BIOS
# Dmidecode-T bios and processor)
# Dmidecode-T (displays bios and processor)
What types does dmidecode support?
You can see these in man dmidecode:
Supported text parameters:
Bios, system, baseboard, chassis, processor, memory, cache, connector, slot
Many numeric parameters are supported: (see the appendix)
4. view information by Keyword:
for example, if you only want to view the serial number, you can use:
# dmidecode-S system-serial-number
-s (-- string keyword) supported Keyword:
keywords
BIOS-vendor, BIOS-version, BIOS-release-date,
system-manufacturer, system-product-Name, system-version, system-serial-number,
baseboard-Manu-facturer, baseboard-product-name, baseboard-version, baseboard-serial-number, baseboard-asset-tag,
chassis-manufacturer, Chas-sis-version, chassis-serial-number, chassis-asset-tag,
processor-manufacturer, processor-version.
average
5. Example
5.1 view the current memory and the supported maximum memory
In Linux, you can use free or meminfo to obtain the current physical memory:
# Free
Total used free shared buffers cached
Mem: 8182532 8010792 171740 0 148472 4737896
-/+ Buffers/cache: 3124424 5058108
Swap: 4192956 3304 4189652
# Grep memtotal/proc/meminfo
Memtotal: 8182532 KB
The physical memory of the current server is 8 GB.
How much memory can the server expand?
# Dmidecode-T 16
# Dmidecode 2.7
Smbios 2.4 present.
Handle 0x0013, DMI type 16, 15 bytes.
Physical memory array
Location: system board or Motherboard
Use: system memory
Error Correction type: Multi-bit ECC
Maximum capacity: 64 GB (extended to 64 GB)
Error information handle: not provided
Number of devices: 4
However, this is not the case, so the slot may be full. That is, we also need to find out whether the 8 GB here is 4*2 GB, 2*4 GB or other?
If it is 4*2 GB, it can be expanded to 64 GB, but the slot is full and cannot be expanded:
# Dmidecode-T 17
# Dmidecode 2.7
Smbios 2.4 present.
handle 0x0015, DMI type 17, 27 bytes.
memory device
array handle: 0x0013
error information handle: not provided
total width: 72 bits
data width: 64 bits
size: 2048 MB [Slot 1 has 1 2 GB memory]
form factor: dimm
set: None
locator: dimm00
bank locator: Bank
type: Other
type detail: Other
speed: 667 MHz (1.5 ns)
manufacturer:
serial number: bzacskz001
asset Tag: ram82
part number: MT9HTF6472FY-53EA2
handle 0x0017, DMI type 17, 27 bytes.
memory device
array handle: 0x0013
error information handle: not provided
total width: 72 bits
data width: 64 bits
size: 2048 MB [slot 2 has 1 2 GB memory]
form factor: dimm
set: None
locator: dimm10
bank locator: Bank
type: Other
type detail: Other
speed: 667 MHz (1.5 ns)
manufacturer:
serial number: bzacskz001
asset Tag: ram83
part number: MT9HTF6472FY-53EA2
handle 0x0019, DMI type 17, 27 bytes.
memory device
array handle: 0x0013
error information handle: not provided
total width: 72 bits
data width: 64 bits
size: 2048 MB [Slot 3 has 1 2 GB memory]
form factor: dimm
set: None
locator: dimm20
bank locator: Bank
type: Other
type detail: Other
speed: 667 MHz (1.5 ns)
manufacturer:
serial number: bzacskz001
asset Tag: ram84
part number: MT9HTF6472FY-53EA2
Handle 0x001b, DMI type 17, 27 bytes.
Memory device
Array handle: 0x0013
Error information handle: not provided
Total Width: 72 bits
Data width: 64 bits
Size: 2048 MB [Slot 4 has 1 2 GB memory]
Form Factor: dimm
Set: None
Locator: dimm30
Bank locator: Bank
Type: Other
Type detail: Other
Speed: 667 MHz (1.5 ns)
Manufacturer:
Serial number: bzacskz001
Asset Tag: ram85
Part number: MT9HTF6472FY-53EA2
According to the above output, we can find that, to expand, the maximum supported memory can be 4*16 GB = 64 GB only when the memory is changed to 16 GB.
Appendix:
Dmidecode supports the following numeric parameters:
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