Linux dmesg что это
Руководство по команде dmesg для начинающих
Оригинал: Linux dmesg Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 3 июля 2018 года
Перевод: А. Кривошей
Дата перевода: январь 2019 г.
Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы? На самом деле, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, то также загружается соответствующий драйвер устройства. Конечно, ядро также делает много других вещей. Что если вы хотите узнать информацию, связанную с этими действиями ядра?
Есть команда dmesg, которую вы можете использовать, если хотите получить доступ к сообщениям, выводимым ядром. В этом руководстве мы разберемся, как работает утилита dmesg, используя несколько простых для понимания примеров.
Команда Linux dmesg
Команда dmesg позволяет вам печатать или управлять буфером кольца ядра. Ниже ее синтаксис:
И вот как справочная страница утилиты объясняет ее назначение:
Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам лучшее представление о том, как работает команда dmesg.
Q1. Как использовать команду dmesg?
Вы можете для начала ввести команду dmesg без опций командной строки.
Например, вот небольшая часть вывода команды, созданной в моем случае:
Q2. Как ограничить вывод только ошибками и предупреждениями?
Если вы запустите dmesg в своей системе, вы увидите, что она выводит множество информации. В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод. Со своей стороны, dmesg предлагает вам реализацию этой возможности с помощью «уровней». Ниже приводится полный список уровней (вместе с их объяснением):
Например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:
В моем случае, вот часть вывода, который выдает указанная выше команда:
Q3. Как заставить dmesg выводить временные метки?
Q4. Как заставить dmesg отображать информацию, специфичную для устройства?
Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0. Вот как вы можете это сделать:
Q5. Как заставить dmesg отображать только сообщения пользователя?
Заключение
Здесь, в этом уроке, мы обсудили команду dmesg с точки зрения начинающих. Более подробную информацию можно получить, изучив справочную страницу команды.
Команда Dmesg в Linux
Ядро Linux — это ядро операционной системы, которое контролирует доступ к системным ресурсам, таким как ЦП, устройства ввода-вывода, физическая память и файловые системы. Ядро записывает различные сообщения в кольцевой буфер ядра во время процесса загрузки и во время работы системы. Эти сообщения содержат различную информацию о работе системы.
Кольцевой буфер ядра — это часть физической памяти, в которой хранятся сообщения журнала ядра. Он имеет фиксированный размер, что означает, что после заполнения буфера старые записи журналов перезаписываются.
Утилита командной строки dmesg используется для печати и управления кольцевым буфером ядра в Linux и других Unix-подобных операционных системах. Это полезно для изучения сообщений загрузки ядра и отладки проблем, связанных с оборудованием.
Использование команды dmesg
Синтаксис команды dmesg следующий:
При запуске без каких-либо параметров dmesg записывает все сообщения из кольцевого буфера ядра в стандартный вывод:
Параметр ядра kernel.dmesg_restrict указывает, могут ли непривилегированные пользователи использовать dmesg для просмотра сообщений из буфера журнала ядра. Чтобы снять ограничения, установите его на ноль:
Обычно вывод содержит много строк информации, поэтому видна только последняя часть вывода. Чтобы видеть по одной странице за раз, направьте вывод в утилиту пейджера, например, less или more :
—color=always используется для сохранения цветного вывода.
Формирование вывода dmesg
Команда dmesg предоставляет ряд параметров, которые помогут вам отформатировать и отфильтровать вывод.
Как пользоваться dmesg
Для получения сообщений из этого буфера можно просто прочитать файл /var/log/dmesg. Однако, более удобно это можно сделать с помощью команды dmesg. В этой статье мы рассмотрим как пользоваться dmesg. Разберемся с опциями утилиты, а также приведем примеры работы с ней.
Синтаксис и опции dmesg
Синтаксис команды dmesg очень простой. Надо набрать имя команды и если необходимо, то опции:
$ dmesg опции
Опции позволяют управлять выводом, добавлять или скрывать дополнительную информацию и делать просмотр сообщений более удобным. Вот они:
Это далеко не все опции, а только самые интересные. Если вы хотите посмотреть другие, воспользуйтесь такой командой:
Поддерживаемые категории журналирования:
А вот доступные уровни журналирования:
Примеры использования dmesg
Как вы уже поняли команда dmesg показывает не только сообщения от ядра, но и другие сообщения от системных служб, например, от системы инициализации systemd. Чтобы вывести вообще все сообщения выполните команду без опций:
По умолчанию перед сообщением выводится только временной сдвиг от загрузки системы. Если вы хотите полную временную метку, используйте опцию -T:
Во время загрузки ядро тестирует оборудование и выводит подробную информацию о нём в буфер сообщений ядра. Таким образом, с помощью dmesg можно посмотреть информацию об оборудовании, просто отфильтруйте нужные данные, например CPU:
Если вас интересуют только ошибки, можно отсеять их по уровню журналирования:
Или только информационные сообщения:
Можно вывести только сообщения, которые попали сюда из пространства пользователя, для этого используйте опцию -u:
Или же отфильтруйте категории user и daemon с помощью опции -f:
Выводы
В этой небольшой статье мы разобрали как пользоваться dmesg. Теперь вы знаете за что отвечает эта утилита, а также какие опции можно использовать.
7 команд dmesg для устранения неполадок и сбора информации в системах Linux
Команда « dmesg » отображает сообщения из кольцевого буфера ядра. Система проходит несколько уровней запуска, откуда мы можем получить много информации, такой как системная архитектура, процессор, подключенное устройство, оперативная память и т. Д. Когда компьютер загружается, ядро u200bu200b(ядро операционной системы) загружается в память. В течение этого периода отображается количество сообщений, в которых мы можем видеть аппаратные устройства, обнаруженные ядром.
Читайте также: 10 команд Linux для сбора информации о системе и оборудовании
Давайте рассмотрим самый известный инструмент, называемый командой «dmesg», с их практическими примерами, которые обсуждаются ниже. Точный синтаксис dmesg следующий.
1. Список всех загруженных драйверов в ядре
Читайте также : эффективное управление файлами Linux с помощью команд head, tail и cat
2. Список всех обнаруженных устройств.
Чтобы узнать, какие жесткие диски были обнаружены ядром, вы можете выполнить поиск по ключевому слову «sda» вместе с «grep», как показано ниже.
3. Печатайте только первые 20 строк вывода.
4. Печатать только последние 20 строк вывода.
«Хвост» вместе с командой dmesg напечатает только 20 последних строк, это полезно в случае, если мы вставляем съемное устройство.
5. Найдите обнаруженное устройство или определенную строку
Поиск конкретной строки затруднен из-за длины вывода dmesg. Итак, отфильтруйте строки с такими строками, как «usb» «dma» «tty» и «memory» и т. Д. Параметр «-i» указывает команде grep игнорировать регистр (буквы верхнего или нижнего регистра).
6. Очистить журналы буфера dmesg.
Да, мы можем очистить журналы dmesg, если требуется, с помощью команды ниже. Он будет очищать журналы сообщений кольцевого буфера dmesg, пока вы не выполните команду ниже. Тем не менее, вы можете просматривать журналы, хранящиеся в файлах «/ var/log/dmesg». Если вы подключите любое устройство, будет генерироваться вывод dmesg.
7. Мониторинг dmesg в реальном времени
Заключение: команда dmesg полезна, поскольку dmesg записывает все системные изменения, сделанные или происходящие в реальном времени. Как всегда, вы можете man dmesg получить дополнительную информацию.
Linux dmesg команда инструкция для начинающих (5 примеров)
Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы?
Фактически, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, то также загружается соответствующий драйвер устройства.
Конечно, ядро также делает много других вещей.
Что делать, если вы хотите узнать информацию, связанную с этими действиями ядра?
Что ж, существует команда – dmesg – которую вы можете использовать, если хотите получать доступ к сообщениям, выведенные ядром.
В этом уроке мы поймем, как работает инструмент dmesg, используя несколько простых для понимания примеров.
Команда Linux dmesg
Синтаксис команды dmesg:
Ниже приведены примеры Вопрос & Ответ, которые помогут вам лучше понять, как работает команда dmesg.
В1. Как использовать команду dmesg?
Вы можете начать использовать команду dmesg без любой опции командной строки.
Например, вот небольшая часть вывода команды, созданной в моем случае:
В2. Как ограничить вывод только ошибками и предупреждениями?
Если вы запустите dmesg в своей системе, вы увидите, что он выводит множество информации.
В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод.
Со своей стороны, dmesg предлагает вам эту способность через «уровни».
Ниже приведен полный список уровней (вместе с их объяснением):
Например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:
В моем случае, вот часть вывода выведенной выше команды:
В3. Как создать dmesg для создания временных меток?
Иногда вам может понадобиться связать временную метку с сообщениями, которые создает dmesg.
В4. Как сделать, что dmesg отображал информацию об определенном устройстве?
Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0.
Вот как вы можете это сделать:
В5. Как заставить dmesg отображать только сообщения в пользовательском пространстве?
Согласитесь, dmesg – это не та команда, которая вам понадобится каждый день.
Но это инструмент, к которому нужно обратиться, когда кто-то (которого вы попросили о помощи по определенной теме) просит вас предоставить сообщения ядра.
В основном я видел этот случай на форумах онлайн-пользователей, где опытные пользователи просят вывод ядра.