dmidecode
dmidecode
– это утилита командной строки для получения подробной информации об аппаратном обеспечении системы. Она считывает таблицу DMI, которая содержит данные, предоставляемые микропрограммой системы. Эти данные включают сведения о BIOS, процессоре, памяти и других аппаратных компонентах системы. Используя dmidecode
, вы можете получить сведения о конфигурации оборудования без необходимости находиться на месте или открывать корпус.
Базовое использование
Для начала выполним базовую команду dmidecode
, чтобы получить обзор таблицы DMI системы:
sudo dmidecode
Эта команда выводит полный список записей таблицы DMI, который может оказаться непомерно большим.
Чтобы сузить вывод до конкретной информации, можно использовать различные опции, особенно через определение типа с помощью -t number
:
sudo dmidecode -t number
где number – целое число. Ниже приводится пример из man dmidecode
:
[... output omitted for readability ...] The SMBIOS specification defines the following DMI types: Type Information ──────────────────────────────────────────── 0 BIOS 1 System 2 Baseboard 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 40 Additional Information 41 Onboard Devices Extended Information 42 Management Controller Host Interface Additionally, type 126 is used for disabled entries and type 127 is an end-of-table marker. Types 128 to 255 are for OEM-specific data. dmidecode will display these entries by default, but it can only decode them when the vendors have contributed documentation or code for them. [... further output omitted for readability ...]
Пример 1: Получение информации о BIOS
Чтобы получить подробную информацию о BIOS, используйте параметр -t
, за которым следует номер типа информации о BIOS (тип 0):
sudo dmidecode -t 0
Эта команда выводит информацию о версии BIOS, дате выпуска и производителя. Пример вывода (здесь используется ThinkPad T480S):
$ sudo dmidecode -t 0 # dmidecode 3.6 Getting SMBIOS data from sysfs. SMBIOS 3.0.0 present. Handle 0x000B, DMI type 0, 24 bytes BIOS Information Vendor: LENOVO Version: N22ET80W (1.57 ) Release Date: 02/27/2024 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 16 MB Characteristics: PCI is supported PNP is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported 3.5"/720 kB 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 BIOS boot specification is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 1.57 Firmware Revision: 1.23
Пример 2: извлечение информации о материнской плате и памяти
Для получения подробной информации о памяти можно запросить тип материнской платы – 2 и тип ОЗУ – 17 . Это позволит получить подробную информацию о установленных модулях памяти, включая размер, скорость и производителя. Эта информация особенно полезна при обновлении или устранении неисправностей системной памяти, а также если вам необходимо приобрести дополнительную совместимую оперативную память для сервера.
Реальный пример небольшого лабораторного сервера с четырьмя планками памяти:
$ sudo dmidecode -t 2,17 [... output omitted for readability ...] Manufacturer: Supermicro Product Name: X11SPL-F Version: 1.02 [... output omitted for readability ...] Handle 0x0029, DMI type 17, 84 bytes Memory Device Array Handle: 0x0025 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 64 GB Form Factor: DIMM Set: None Locator: DIMMB1 Bank Locator: P0_Node0_Channel1_Dimm0 Type: DDR4 Type Detail: Synchronous Registered (Buffered) Speed: 2933 MT/s Manufacturer: Samsung Serial Number: 167D51E1 Asset Tag: DIMMB1_AssetTag (date:22/38) Part Number: M393A8G40MB2-CVF Rank: 2 Configured Memory Speed: 2400 MT/s Minimum Voltage: 1.2 V Maximum Voltage: 1.2 V Configured Voltage: 1.2 V Memory Technology: DRAM Memory Operating Mode Capability: Volatile memory Firmware Version: 0000 Module Manufacturer ID: Bank 1, Hex 0xCE Module Product ID: Unknown Memory Subsystem Controller Manufacturer ID: Unknown Memory Subsystem Controller Product ID: Unknown Non-Volatile Size: None Volatile Size: 64 GB Cache Size: None Logical Size: None $ sudo dmidecode -t 17 | grep -E "(Manufacturer|Part Number):" Manufacturer: Samsung Part Number: M393A8G40MB2-CVF Manufacturer: Samsung Part Number: M393A8G40MB2-CVF Manufacturer: Samsung Part Number: M393A8G40MB2-CVF Manufacturer: Samsung Part Number: M393A8G40MB2-CVF
С помощью этой простой команды можно легко определить, какое аппаратное обеспечение используется. Эта информация особенно полезна при необходимости обновления или замены оборудования.
lspci
Команда lspci
используется для вывода списка всех PCI-устройств в системе. К устройствам PCI относятся сетевые карты видеокарты, контроллеры USB и многое другое. Эта команда позволяет сделать снимок устройств, подключенных к шине PCI системы, и получить подробное представление об их конфигурации и состоянии.
Для работы lspci
не нужны расширенные привилегии, достаточно обычного пользователя, чтобы получить полезную информацию.
Базовое использование
Простое выполнение команды lspci
lspci
Для получения более подробной информации о конкретном устройстве можно использовать опцию -v<.code> (verbose):
lspci -v
Пример 1: Поиск информации о видеокарте
Чтобы найти подробную информацию о видеокарте системы, можно отфильтровать вывод lspci
с помощью grep
. Пример вывода (здесь используется ThinkPad T480S):
lspci | grep -i vga00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
Пример 2: Проверьте, какой драйвер ядра используется вашим оборудованием
Чтобы узнать, какой драйвер ядра используется конкретным устройством, можно воспользоваться параметром -k
. В списке перечислены драйверы ядра, используемые для каждого PCI-устройства, что может быть полезно для устранения проблем, связанных с драйверами, особенно если вы можете выполнить поиск проблем в Интернете, используя имя драйвера и модель вашего оборудования.
Пример вывода (здесь используется ThinkPad T480S):
$ lspci -k [... output omitted for readability ...] 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) Subsystem: Lenovo Device 2258 Kernel driver in use: i915 Kernel modules: i915 [... output omitted for readability ...] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-V (rev 21) Subsystem: Lenovo Device 2258 Kernel driver in use: e1000e Kernel modules: e1000e
Как вы можете видеть, видеокарта использует драйвер «drm/i915 Intel GFX Driver»:https://www.kernel.org/doc/html/latest/gpu/i915.html, а сетевая карта – e1000e.
Заключение
Команды dmidecode
и lspci
являются мощными инструментами для извлечения подробной информации об аппаратном обеспечении в Linux. Несмотря на свою простоту, обе команды позволяют получить инфу о конфигурации и состоянии системы. Если вы занимаетесь устранением неполадок, оптимизацией или просто интересуетесь, эти инструменты предоставляют ценные данные, которые помогут вам лучше понять и управлять вашей ОС Linux.
Комментарии (0)