Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

dmesg ( диагностическое сообщение [1] ) является командой на большинстве Unix-подобных операционных систем, выводит сообщение буфера в ядре . [2] Вывод включает сообщения, созданные драйверами устройств .

Команда [ править ]

Во многих Unix-подобных системах процесс загрузки генерирует особенно плотный поток сообщений ядра. Многие административные проблемы связаны с тем, успешно ли перечислено желаемое аппаратное устройство во время процесса загрузки, поэтому процесс диагностики неисправного устройства часто начинается с проверки вывода dmesg из сообщения идентификации ядра до точки, где процесс загрузки завершается. Поскольку этот буфер может быть перезаписан потоком сообщений при последующей операции, многие Unix-подобные дистрибутивы хранят послезагрузочную копию буфера сообщений в / var / log / dmesg или аналогичном безопасном месте в системе.

Также обычно после горячего подключения устройств, в частности USB-устройств (особенно флэш-накопителей ), вручную сверяться с текущим буфером dmesg , чтобы определить, было ли устройство распознано, скорость передачи данных соответствующего порта ( разъемы USB 2 и USB 3.0 сидят рядом и их трудно различить во многих системах), какой драйвер был назначен, и где устройство стало видимым в файловой системе. Многие дистрибутивы пытаются отображать сообщения о распознавании устройств на рабочем столе, часто через панель задач.всплывающее окно, но оно не всегда достоверно или представленная информация является неполной. (Кроме того, для получения уведомлений на рабочем столе устройство с горячей заменой должно быть разрешено политикой безопасности системы .)

Многие строки dmesg в традиционной системе начинаются с имени устройства, за которым следует двоеточие, за которым следует подробный текст. Часто они входят в кластеры, при этом одно и то же устройство отображается на нескольких строках подряд. Каждый кластер обычно связан с одним перечислением устройств одним конкретным драйвером устройства (или средством устройства), связанным с именем устройства.

Каждый такой драйвер или средство излучает диагностическую информацию в собственном выбранном формате и, как правило, включает все наиболее важные технические детали в плотной и запутанной нотации. Страница руководства, связанная с драйвером устройства, иногда документирует формат сообщения. Например, имя устройства da0 ( прямой доступ SCSI 0 ) - это часто встречающееся имя устройства, связанное с флэш-накопителями USB. человек да в командной строке—Без номера в конце — вызовет документацию для этого класса драйвера во многих системах. Даже если точный формат строк, записываемых в системный буфер, здесь не описан, интересующие параметры обычно определяются, хотя вам может потребоваться дальнейшее изучение связанных страниц руководства (перечисленных в нижней части традиционной страницы руководства) для полного обзор, охватывающий различные уровни абстракции оборудования .

Загрузка [ править ]

При первоначальной загрузке компьютерная система загружает свое ядро ​​в память. На этом этапе драйверы устройств, присутствующие в ядре, настраиваются для работы с соответствующим оборудованием. Такие драйверы, а также другие элементы в ядре могут создавать выходные данные («сообщения»), сообщающие как о наличии модулей, так и о значениях любых принятых параметров. (Можно указать параметры загрузки, которые контролируют уровень детализации сообщений.) Процесс загрузки обычно происходит со скоростью, когда отдельные сообщения прокручиваются за пределы верхней части экрана, прежде чем оператор сможет их прочитать / обработать. (Некоторые клавиши клавиатуры могут приостанавливать вывод на экран.) Команда dmesg позволяет контролировать такие сообщения после запуска системы. [3]

После загрузки [ править ]

Даже после полной загрузки системы ядро ​​может иногда выдавать дополнительные диагностические сообщения. Типичные примеры того, когда это может произойти, - это когда устройства ввода-вывода обнаруживают ошибки или USB- устройства подключаются в горячем режиме . dmesg предоставляет механизм для просмотра этих сообщений позже. При первом создании они будут направлены на системную консоль : если консоль используется, эти сообщения могут быть перепутаны с выводами пользовательских программ или быстро перезаписаны.

Вывод [ править ]

Результатом dmesg может быть множество полных экранов. По этой причине этот вывод обычно просматривается с использованием стандартных инструментов обработки текста, таких как more , tail , less или grep . [4] Вывод часто записывается в постоянный системный файл журнала с помощью демона ведения журнала, такого как syslog .

См. Также [ править ]

  • lspci , подробная информация обо всех шинах PCI и устройствах в системе
  • lsusb , подробная информация о USB-портах и ​​устройствах
  • uname печатает имя, версию и другие сведения о текущей машине и операционной системе
  • Список команд Unix
  • udev - диспетчер устройств Linux, с некоторым контролем над видимостью устройства

Ссылки [ править ]

  1. ^ DMESG (8) (Исследование Unix 8-е изд.). Bell Labs. 1985 . Проверено 10 февраля 2020 .
  2. ^ http://man7.org/linux/man-pages/man1/dmesg.1.html
  3. Гарет Андерсон (15 апреля 2006 г.). «Обзор средств командной строки GNU / Linux» (PDF) . www.tldp.org . Проект документации Linux. п. 32. Архивировано из оригинального (PDF) 23 ноября 2016 года . Проверено 29 мая 2017 года .
  4. Мендель Купер (5 апреля 2012 г.). «Расширенное руководство по сценариям на Bash» (PDF) . www.tldp.org . Проект документации Linux. п. 329. Архивировано из оригинального (PDF) 18 мая 2017 года . Проверено 29 мая 2017 года .

Внешние ссылки [ править ]

  • dmesg (8) Страница руководства FreeBSD
  • Команда dmesg от информационного проекта Linux (LINFO)
  • Объяснение dmesg : примеры вывода ядра