lshw — это консольная утилита для Linux, предназначенная для детального отображения информации об аппаратном обеспечении системы.
Введение
Утилита lshw (Hardware Lister) умеет показывать данные о процессоре, памяти, материнке, дисках, сетевых интерфейсах и других компонентах сервера.
Эта утилита выводит довольно подробные данные, включая производителя, модель, версии прошивок, серийные номера и подобные сведенья. Умеет выводить информацию в разных форматах (TXT, XML, JSON, XTML).
Для своего запуска lshw требует права root.
В отличии от утилиты dmidecode — эта утилита анализирует данные из ядра Linux, файловых систем /proc и /sys, а также взаимодействует с драйверами устройств. Можно комбинировать обе эти утилиты для большей информативности, так как о чём-то лучше расскажет dmidecode, а о чём-то lshw.
Выполнение lshw без дополнительных опций покажет информацию обо всех обнаруженных устройствах. Но можно ограничить вывод по определённому типу устройства с помощью опции -class
.
-class network
— информация о сетевых интерфейсах;-class processor
— информация о процессоре;-class storage
— информация о sata интерфейсах;-class disk
— информация о дисках;-class volume
— информация о разделах;-class memory
— информация о планках памяти;-class system
— информация о материнской плате;-class bus
— информация о шинах, например usb;-class bridge
— информация о pci мостах;-class display
— информация о дисплеях.
А для выбора формата вы можете использовать опции:
-xtml
— для вывода в формате xtml;-xml
— для вывода в формате xml;-json
— для вывода в формате json.
Примеры
Например, получим информацию о памяти.
- В отличии от dmidecode мы не видим максимально-доступное количество памяти;
- Но видим что установлено 128GiB памяти (4 планки по 32GB, DDR4, 2133 MT/s, Kingston);
- Также видим cache процессора.
# lshw -class memory *-firmware description: BIOS vendor: American Megatrends Inc. physical id: 0 version: 2.0a date: 06/24/2016 size: 64KiB capacity: 16MiB capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi *-memory description: System Memory physical id: 18 slot: System board or motherboard size: 128GiB capabilities: ecc configuration: errordetection=multi-bit-ecc *-bank:0 description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns) product: 9965640-007.C00G vendor: Kingston physical id: 0 serial: 7E263C92 slot: DIMMA1 size: 32GiB width: 64 bits clock: 2133MHz (0.5ns) *-bank:1 description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns) product: HMA84GR7AFR4N-TF vendor: Hynix Semiconductor physical id: 1 serial: 7E263C23 slot: DIMMB1 size: 32GiB width: 64 bits clock: 2133MHz (0.5ns) *-bank:2 description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns) product: 9965640-026.C00G vendor: Kingston physical id: 2 serial: 7E663C92 slot: DIMMC1 size: 32GiB width: 64 bits clock: 2133MHz (0.5ns) *-bank:3 description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns) product: 9965640-026.C00G vendor: Kingston physical id: 3 serial: 7E653C92 slot: DIMMD1 size: 32GiB width: 64 bits clock: 2133MHz (0.5ns) *-cache:0 description: L1 cache physical id: 23 slot: CPU Internal L1 size: 384KiB capacity: 384KiB capabilities: internal write-back configuration: level=1 *-cache:1 description: L2 cache physical id: 24 slot: CPU Internal L2 size: 1536KiB capacity: 1536KiB capabilities: internal write-back unified configuration: level=2 *-cache:2 description: L3 cache physical id: 25 slot: CPU Internal L3 size: 15MiB capacity: 15MiB capabilities: internal write-back unified configuration: level=3
И ещё 1 пример для процессора. В примере используется сервер с процессором Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz:
- Кстати, утилита dmidecode покажет побольше информации.
# lshw -class processor *-cpu description: CPU product: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz vendor: Intel Corp. physical id: 26 bus info: cpu@0 version: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz slot: CPU1 size: 3599MHz capacity: 4GHz width: 64 bits clock: 100MHz capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts cpufreq configuration: cores=6 enabledcores=6 threads=12
И в третьем примере я покажу как сохранить данные в html формате:
# lshw -html > hardware.xtml
В дальнейшем этот файл можно открыть в любом современном браузере.
Если понравилась статья, подпишись на мой канал в VK.