Dmidecode — это консольная утилита для Linux, которая позволяет получить информацию о системном оборудовании, извлекая данные из таблицы DMI.
Введение
Я уже писал статью — Получение информации о железе в Linux. А в текущей статье описывается специальная утилита dmidecode для сбора информации о железе вашего сервера.
Desktop Management Interface (DMI) — это стандарт, который описывает способ доступа к информации о системе. Этот стандарт используется для инвентаризации оборудования и управления системами на аппаратном уровне без необходимости прямого взаимодействия с устройствами. Вся информация хранится в специальной таблице (DMI Table), которая создаётся прошивкой BIOS или UEFI. Эта таблица содержит записи с данными о каждом аппаратном компоненте.
Утилита выводит детальную информацию о процессоре, памяти, BIOS, материнке, и других компонентах. Она не взаимодействует с железом напрямую, и работает очень быстро. Она бывает полезна для диагностики и инвентаризации без необходимости разборки вашего сервера.
Утилита dmidecode требует привилегий суперпользователя, то есть должна запускаться от имени пользователя root или с использованием sudo.
Выполнение dmidecode без дополнительных опций покажет информацию обо всех обнаруженных устройствах. Но можно ограничить вывод по определённому типу устройства с помощью опции -t.
-t bios— информация о bios;-t system— общая информация о компьютере как о системе;-t baseboard— информация о материнской плате;-t chassis— информация о корпусе устройства (тип, производитель, статус (заперт / не заперт);-t processor— информация о процессоре (производитель, модель, количество ядер, сокет, максимальная и текущая скорость);-t memory— информация об оперативной памяти (размер модулей, производитель, их тип и скорость);-t cache— информация о кэше процессора (L1, L2, L3);-t connector— информация о коннекторах на материнской плате (COM, RJ-45, USB, VGA);-t slot— описывает pci слоты (PCI-E 3.0 X16, PCI-E 3.0 X8).
Примеры
Например, получим информацию о памяти. В примере используется сервер:
- Максимальное количество памяти в системе 256GB и 4 планки;
- Установлены 4 планки по 32GB, DDR4, 2133 MT/s, Kingston.
# dmidecode -t memory
Getting SMBIOS data from sysfs.
SMBIOS 3.0 present.
Handle 0x0018, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 256 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0019, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0018
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMMA1
Bank Locator: P0_Node0_Channel0_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MT/s
Manufacturer: Kingston
Serial Number: 7E376C81
Asset Tag: DIMMA1_AssetTag (date:17/19)
Part Number: 9965640-007.C00G
Rank: 2
Configured Memory Speed: 2133 MT/s
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x001A, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0018
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMMB1
Bank Locator: P0_Node0_Channel1_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MT/s
Manufacturer: Hynix Semiconductor
Serial Number: 71D5B3621
Asset Tag: DIMMB1_AssetTag (date:17/30)
Part Number: HMA84GR7AFR4N-TF
Rank: 2
Configured Memory Speed: 2133 MT/s
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x001B, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0018
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMMC1
Bank Locator: P0_Node0_Channel2_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MT/s
Manufacturer: Kingston
Serial Number: E10180AB
Asset Tag: DIMMC1_AssetTag (date:18/01)
Part Number: 9965640-026.C00G
Rank: 2
Configured Memory Speed: 2133 MT/s
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x001C, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0018
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMMD1
Bank Locator: P0_Node0_Channel3_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MT/s
Manufacturer: Kingston
Serial Number: E26548EA
Asset Tag: DIMMD1_AssetTag (date:18/01)
Part Number: 9965640-026.C00G
Rank: 2
Configured Memory Speed: 2133 MT/s
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
И ещё 1 пример для процессора. В примере используется сервер с процессором Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz:
# dmidecode -t processor
Getting SMBIOS data from sysfs.
SMBIOS 3.0 present.
Handle 0x0026, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: F2 06 03 00 FF FB EB BF
Signature: Type 0, Family 6, Model 63, 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)
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-1650 v3 @ 3.50GHz
Voltage: 1.8 V
External Clock: 100 MHz
Max Speed: 4000 MHz
Current Speed: 3500 MHz
Status: Populated, Enabled
Upgrade: Socket LGA2011-3
L1 Cache Handle: 0x0023
L2 Cache Handle: 0x0024
L3 Cache Handle: 0x0025
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
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
Кстати, есть подобная утилита — lshw. Про неё у меня тоже есть статья — здесь.
Если понравилась статья, подпишись на мой канал в VK или Telegram.