Утилита dmidecode

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.

Оставьте комментарий