Использование dmesg

Опубликовано mensh - пн, 09/29/2008 - 16:06

Часто требуется получить список всех устройств в системе, в том числе USB и SCSI, конфигурация памяти, процессор. Для этого можно воспользоваться программой dmesg, выводящей список всего оборудования, обнаруженного ядром.

Для просмотра вывода dmesg можно ввести следующую команду:

$ dmesg | less
Linux version 2.6.21.5-smp (root@midas) (gcc version 4.1.2) #2 SMP Tue Jun 19 14:58:11 CDT 2007
BIOS-provided physical RAM map:
sanitize start
sanitize end
copy_e820_map() start: 0000000000000000 size: 000000000009fc00 end: 000000000009fc00 type: 1
copy_e820_map() type is E820_RAM
...

Вывод можно направить и в файл для последующего просмотра:

$ dmesg > dmesg.txt

При поиске возвращаются только те строки, в которых присутствует искомая подстрока. Часто дополнительная информация содержится в соседних строках и находится прямым просмотром файла.

Выходные данные dmesg можно также фильтровать для поиска конкретных устройств. Следующая команда выводит список устройств USB:

$ dmesg | grep -i usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usbmon: debugfs is not available
ehci_hcd 0000:00:03.3: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:03.3: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
ohci_hcd: 2006 August 04 USB 1.1 `Open` Host Controller (OHCI) Driver
ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
ohci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 3
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
USB Universal Host Controller Interface driver v3.0
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver

Вывод списка устройств ISA:

$ dmesg ] grep -i isa
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
CPU: Hyper-Threading is disabled
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
hdd: Disabling (U)DMA for CD-ROM Drive/F5A (blacklisted)
 with `disable_clustering=1` and report to maintainers
lo: Disabled Privacy Extensions

Определение объема физической памяти в системе:

$ dmesg | grep -i memory
Memory: 477392k/491456k available (6215k kernel code, 13544k reserved, 2017k data, 392k init, 0k highmem)
virtual kernel memory layout:
Freeing unused kernel memory: 392k freed

Вывод списка „настоящих“ и эмулированных устройств SCSI:

$ dmesg | grep -i scsi
SCSI subsystem initialized
Loading iSCSI transport class v2.0-724.
iscsi: registered transport (tcp)
scsi:  Detection failed (no card)
iscsi: registered transport (qla4xxx)
QLogic iSCSI HBA Driver
Emulex LightPulse Fibre Channel SCSI driver 8.1.11
Failed initialization of WD-7000 SCSI card!
ipr: IBM Power RAID SCSI Device Driver version: 2.3.1 (January 23, 2007)
I2O SCSI Peripheral OSM v1.316

Вывод информации о последовательных портах:

$ dmesg | grep -i tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

Вывод информации о процессоре (процессорах):

$ dmesg | grep -i cpu
Initializing CPU#0
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 128K
CPU: Hyper-Threading is disabled
CPU: After all inits, caps: bfebfbff 00000000 00000000 00003080 00004400 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU0: Intel(R) CPU 2.00GHz stepping 09
Brought up 1 CPUs
Switched to high resolution mode on CPU 0

Программа dmesg всегда выводит обновленную информацию даже при частой смене оборудования, например, при подключении и отключении устройств USB.