Команда dmidecode позволяет использовать утилиту с соответствующим именем для получения информации об аппаратном обеспечении компьютера. Данная утилита читает либо специальную файловую систему sysfs, либо специальный файл устройства /dev/mem, предоставляющий доступ к физической памяти компьютера. Из них утилита извлекает данные, связанные с таблицей DMI. Сама таблица DMI или Desktop Management Interface является структурой данных, содержащей информацию об аппаратном обеспечении компьютера и стандартизированной консорциумом Distributed Management Task Force (DMTF). Иногда ее также называют SMBIOS. Сама же утилита может быть полезна для составления списка аппаратного обеспечения компьютера или проверки корректности подключения плат расширения. Преимуществом использования данной таблицы является скорость получения информации об аппаратном обеспечении (так как не приходится опрашивать каждое из устройств), недостатком — не всегда корректная информация. В некоторых случаях таблица может содержать не только характеристики установленного аппаратного обеспечения, но и список совместимых устройств.
Базовый синтаксис команды выглядит следующим образом:
# dmidecode [параметры]
В первую очередь следует обратить внимание на тот факт, что во всех современных дистрибутивах Linux утилита будет работать лишь при запуске с правами суперпользователя, что объясняется необходимостью прямого доступа к физической памяти компьютера.
По умолчанию утилита выводит все строки таблицы DMI. Каждая выводимая строка таблицы содержит:
В случае необходимости пользователь может указать тип интересующего аппаратного устройства с помощью параметра -t. Спецификация описывает следующие типы аппаратных устройств:
Тип | Информация |
0 | BIOS |
1 | Система |
2 | Материнская плата |
3 | Корпус |
4 | Процессор |
5 | Контроллер памяти |
6 | Модуль памяти |
7 | Кэш |
8 | Коннекторы портов |
9 | Системные слоты |
10 | Интегрированные устройства |
11 | Строки OEM |
12 | Параметры системной конфигурации |
13 | Язык BIOS |
14 | Ассоциации групп |
15 | Журнал системных событий |
16 | Массив физической памяти |
17 | Устройство памяти |
18 | 32-битные ошибки доступа к памяти |
19 | Отображенный адрес массива памяти |
20 | Отображенный адрес устройства памяти |
21 | Встроенное указывающее устройство |
22 | Батарея мобильного устройства |
23 | Устройство сброса состояния системы |
24 | Устройства безопасности |
25 | Управление питанием системы |
26 | Датчик напряжения |
27 | Устройство охлаждения |
28 | Датчик температуры |
29 | Датчик тока |
30 | Механизм удаленного доступа |
31 | Сервисы проверки целостности данных загрузки |
32 | Загрузочные устройства |
33 | 64-битные ошибки доступа к памяти |
34 | Устройство управления |
35 | Компонент устройства управления |
36 | Граничные данные устройства управления |
37 | Канал памяти |
38 | Устройство IPMI |
39 | Блок питания |
40 | Дополнительная информация |
41 | Дополнительная информация об интегрированных устройствах |
42 | Хост-интерфейс контроллера управления |
126 | Деактивированная строка |
127 | Маркер конца таблицы |
Утилита принимает не только приведенные выше идентификаторы, но и кодовые слова, являющиеся псевдонимами для одного или нескольких идентификаторов.
Кодовое слово | Идентификаторы |
bios | 1, 13 |
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 |
Также пользователь может передать утилите параметр -s одну из приведенных ниже строк запроса в том случае, если его интересует значение лишь одного из наиболее востребованных параметров из таблицы DMI.
Запрос | Информация |
bios-vendor | Разработчик BIOS |
bios-version | Текущая версия BIOS |
bios-release-date | Дата выпуска текущей версии BIOS |
bios-revision | Ревизия текущей версии BIOS |
firmware-revision | Ревизия прошивки |
system-manufacturer | Производитель ПК |
system-product-name | Название модели ПК |
system-version | Версия ПК |
system-serial-number | Серийный номер ПК |
system-uuid | Идентификатор UUID ПК |
system-sku-number | Артикул ПК |
system-family | Модельный ряд ПК |
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 | Тактовая частота процессора |
Для получения информации об устройстве, связанном с определенным хэндлом, следует использовать параметр -H, а для отказа от вывода избыточной информации — параметр -q.
В первую очередь вам придется установить рассматриваемую утилиту; проще всего это сделать с помощью терминала путем исполнения соответствующей вашему дистрибутиву команды. Подробнее об установке программного обеспечения рассказано в данном разделе.
Команда для Linux Mint, Ubuntu и Debian:
$ sudo apt-get install dmidecode
Команда для Fedora Workstation:
$ sudo dnf install dmidecode
Для вывода полной информации обо всех устройствах компьютера достаточно использовать утилиту dmidecode без каких-либо параметров:
# dmidecode
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
68 structures occupying 2599 bytes.
Table at 0x0009F000.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: 1.1
Release Date: 05/27/2010
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 4 MB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
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
Targeted content distribution is supported
BIOS Revision: 8.16
...
Handle 0x0043, DMI type 127, 4 bytes
End Of Table
Для скрытия технической информации и повышения читаемости вывода достаточно использовать параметр -q:
# dmidecode -q
BIOS Information
Vendor: American Megatrends Inc.
Version: 1.1
Release Date: 05/27/2010
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 4 MB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
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
Targeted content distribution is supported
BIOS Revision: 8.16
…
Для вывода информации об интересующем пользователя типе устройства достаточно указать идентификатор этого типа:
# dmidecode -t 4
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: E5 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 30, Stepping 5
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 X3430 @ 2.40GHz
Voltage: Unknown
External Clock: 133 MHz
Max Speed: 2400 MHz
Current Speed: 2400 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: 0x0007
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 4
Core Enabled: 4
Thread Count: 4
Characteristics:
64-bit capable
В данном случае была выведена информация лишь о центральном процессоре. Если вас интересует информация об устройствах нескольких типов, вы можете использовать параметр -t неоднократно:
# dmidecode -t 4 -t 5
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: E5 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 30, Stepping 5
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 X3430 @ 2.40GHz
Voltage: Unknown
External Clock: 133 MHz
Max Speed: 2400 MHz
Current Speed: 2400 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: 0x0007
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 4
Core Enabled: 4
Thread Count: 4
Characteristics:
64-bit capable
Handle 0x0008, DMI type 5, 24 bytes
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
Single-bit Error Correcting
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 4096 MB
Maximum Total Memory Size: 16384 MB
Supported Speeds:
Other
Supported Memory Types:
DIMM
SDRAM
Memory Module Voltage: 3.3 V
Associated Memory Slots: 4
0x0009
0x000A
0x000B
0x000C
Enabled Error Correcting Capabilities:
Single-bit Error Correcting
Очевидно, что в данном случае была выведена информация не только о процессоре, но и о контроллере памяти.
Разумеется, никто не запрещает использовать кодовые слова:
# dmidecode -t slot
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
Handle 0x0025, DMI type 9, 17 bytes
System Slot Information
Designation: AGP
Type: 32-bit AGP 4x
Current Usage: In Use
Length: Short
ID: 0
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Bus Address: ffff:ff:05.0
Handle 0x0026, DMI type 9, 17 bytes
System Slot Information
Designation: PCI1
Type: 32-bit PCI
Current Usage: In Use
Length: Short
ID: 1
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Bus Address: ffff:07:00.0
В данном случае выведена информация о слотах PCI (не PCI-Express), причем в первом слоте «размещена» интегрированная серверная видеокарта. Разумеется, на материнской плате имеются слоты PCI-Express, но это, к сожалению, не отражено в выводе утилиты.
Ну и, конечно же, вы можете использовать хэндл устройства, если знаете его. Для этой цели следует использовать параметр -H:
# dmidecode -H 0x0027
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
68 structures occupying 2599 bytes.
Table at 0x0009F000.
Handle 0x0027, DMI type 11, 5 bytes
OEM Strings
String 1: Intel Lynnfield/Foxhollow/PCH
String 2: Supermicro motherboard-X8 Series
В результате выводятся соответствующие хэндлу строки таблицы, в данном случае — OEM строки.
Для вывода отдельных значений параметров таблицы DMI следует использовать параметр -s и строку запроса. Например, можно получить информацию о BIOS (его версии, ревизии, дате релиза и компании-разработчике):
# dmidecode -s bios-version
1.1
# dmidecode -s bios-revision
8.16
# dmidecode -s bios-release-date
05/27/2010
# dmidecode -s bios-vendor
American Megatrends Inc.
Очевидно, что данный режим работы утилиты может использоваться в рамках сценариев командной оболочки.