Анализ системы с помощью инструментов командной строки dmidecode и lspci

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 приводит список всех PCI-устройств:

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.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен fedoramagazine.org

Похожие статьи

Комментарии (0)