Scroll to navigation

DMESG(1) Команди користувача DMESG(1)

НАЗВА

dmesg - виведення стану буфера кільцевої обробки ядра та керування ним.

КОРОТКИЙ ОПИС

dmesg [options]

dmesg --clear

dmesg --read-clear [options]

dmesg --console-level level

dmesg --console-on

dmesg --console-off

ОПИС

dmesg is used to examine or control the kernel ring buffer.

Типовою дією є показ усіх повідомлень у буфері кільцевої обробки ядра.

ПАРАМЕТРИ

Параметри --clear, --read-clear, --console-on, --console-off і --console-level є взаємно виключними.

-C, --clear

Спорожнити кільцевий буфер.

-c, --read-clear

Спорожнити кільцевий буфер, спочатку вивівши його вміст.

-D, --console-off

Вимкнути виведення повідомлень до консолі.

-d, --show-delta

Вивести часову позначку та різницю часів між повідомленнями. Якщо використано разом із --notime, буде виведено лише різницю часу без часової позначки.

-E, --console-on

Увімкнути виведення повідомлено до консолі.

-e, --reltime

Вивести місцевий час і різницю часу у зручному для читання форматі. Зауважте, що перетворення до місцевого часу може бути неточним (див. -T, щоб дізнатися більше).

-F, --file файл

Прочитати повідомлення syslog з вказаного файла. Зауважте, що для -F не передбачено підтримки повідомлень у форматі kmsg. Користуйтеся натомість -K.

-f, --facility список

Обмежити виведення до вказаного (відокремленого комами) списку варіантів. Приклад:

dmesg --facility=daemon

виведе повідомлення лише для фонових служб системи. Щоб ознайомитися зі списком підтримуваних варіантів, скористайтеся параметром --help.

-H, --human

Увімкнути зручне для читання виведення. Див. також --color, --reltime і --nopager.

-J, --json

Використати для виведення даних формат JSON. Форматом виведення часу може бути лише «секунди.мілісекунди», рівень пріоритетності у журналі типово не буде декодовано (скористайтеся --decode, щоб розділити дані на варіант і пріоритетність), інші параметри керування форматом виведення або форматом часу буде без додаткових повідомлень проігноровано.

-K, --kmsg-file файл

Read the /dev/kmsg messages from the given file. Different record as expected to be separated by a NULL byte.

-k, --kernel

Виводити повідомлення ядра.

-L, --color[=умова]

Розфарбувати виведені дані. Значенням додаткового аргументу варіант може бути auto, never або always. Якщо аргумент варіант пропущено, типовим значенням вважається auto. Розфарбовування можна вимкнути. Із поточним вбудованим типовим значенням можна ознайомитися за допомогою виведення команди з параметром --help. Див. також розділ КОЛЬОРИ нижче.

-l, --level список

Обмежити виведення до вказаного (відокремленого комами) списку рівнів. Приклад:

dmesg --level=err,warn

виведе повідомлення лише щодо помилок і попереджень. Щоб ознайомитися зі списком підтримуваних рівнів, скористайтеся параметром --help.

Appending a plus + to a level name also includes all higher levels. For example:

dmesg --level=err+

will print levels err, crit, alert and emerg.

Prepending it will include all lower levels.

-n, --console-level рівень

Встановити рівень, на якому виведення повідомлень відбуватиметься до консолі. Значенням рівень має бути номер рівня або абревіатура назви рівня. Щоб ознайомитися зі списокм підтримуваних рівнів, скористайтеся параметром --help.

Наприклад, -n 1 або -n emerg забороняє виведення до консолі усіх повідомлень, окрім аварійних (панічних) повідомлень. Повідомлення усіх рівнів продовжуватимуть записуватися до /proc/kmsg, отже усе ще можна буде користуватися syslogd(8) для керування тим, де саме опинятимуться повідомлення ядра. Якщо використано параметр -n, dmesg не виводитиме вміст буфера кільцевої обробки ядра і не спорожнюватиме його.

--noescape

Непридатні до друку і потенційно небезпечні символи (наприклад, пошкоджені багатобайтові послідовності, символи керування терміналом тощо) типово буде екрановано у форматі \x<шістнадцяткове число> з міркувань безпеки. Цей параметр вимикає цю можливість взагалі. Корисно, наприклад, для діагностики у поєднанні із --raw. Будьте обережні, не використовуйте цей режим типово.

-P, --nopager

Не передавати каналом виведені дані до засобу поділу на сторінки. Засіб поділу на сторінки типово увімкнено для виведення --human.

-p, --force-prefix

Додати дані щодо варіанта, рівня або часової позначки до кожного рядка у багаторядковому повідомленні.

-r, --raw

Вивести буфер повідомлень без обробки, тобто не обрізати префікси рівня журналу, але усі непридатні до друку символи буде екрановано (див. також --noescape).

Зауважте, що справжній формат без обробки залежить від способу, у який dmesg читає повідомлення ядра. Пристрій /dev/kmsg використовує інший формат, ніж syslog(2). З метою зворотної сумісності, dmesg завжди повертає дані у форматі syslog(2). Справжні необроблені дані з /dev/kmsg можна прочитати за допомогою, наприклад, команди «dd if=/dev/kmsg iflag=nonblock».

-S, --syslog

Наказати dmesg використовувати інтерфейс ядра syslog(2) для читання повідомлень ядра. Типовим є використання /dev/kmsg, а не syslog(2), з часу появи версії ядра 3.5.0.

-s, --buffer-size розмір

Використати буфер розміру розмір для опитування буфера кільцевої обробки ядра. Типовим значенням є 16392. (Типовий розмір буфера syslog ядра спочатку мав розмір 4096, 8192 з версії 1.3.54, 16384 з версії 2.1.113.) Якщо вами налаштовано буфер ядра із розміром, більшим за типовий для ядра розмір, за допомогою цього параметра можна буде переглядати увесь буфер.

-T, --ctime

Виводити часові позначки у зручному для читання форматі.

Be aware that the timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME. Timestamps are adjusted according to current delta between boottime and monotonic clocks, this works only for messages printed after last resume.

--since час

Вивести записи, починаючи з вказаного моменту часу. Передбачено підтримку точності до часток секунди. Час можна вказати в абсолютний спосіб, а також у відносному позначенні (наприклад «1 hour ago»). Зауважте, що часові позначки можуть бути неточними. Докладніший опис можна знайти в описі параметра --ctime.

--until час

Вивести записи до вказаного моменту часу. Передбачено підтримку точності до часток секунди. Час можна вказати в абсолютний спосіб, а також у відносному позначенні (наприклад «1 hour ago»). Зауважте, що часові позначки можуть бути неточними. Докладніший опис можна знайти в описі параметра --ctime.

-t, --notime

Не виводити часові позначки ядра.

--time-format формат

Print timestamps using the given format, which can be ctime, reltime, delta, iso or raw. The first three formats are aliases of the time-format-specific options. The raw format uses the default timestamp format showing seconds since boot. The iso format is a dmesg implementation of the ISO-8601 timestamp format. The purpose of this format is to make the comparing of timestamps between two systems, and any other parsing, easy. The definition of the iso timestamp is: YYYY-MM-DD<T>HH:MM:SS,<microseconds>←+><timezone offset from UTC>.

У формату iso є та сама вада, що і у ctime: час може бути неточним, якщо роботу системи було призупинено, а потім відновлено.

--time-format may be used multiple times with different values for format to output each specified format.

The delta always follows ctime or raw if specified together.

-u, --userspace

Вивести повідомлення простору користувача.

-w, --follow

Очікувати на нові повідомлення. Підтримку цієї можливості реалізовано лише у системах з придатним до читання /dev/kmsg (починаючи з версії ядра 3.5.0).

-W, --follow-new

Очікувати на нові повідомлення та виводити лише їх.

-x, --decode

Декодувати числові дані варіанта і рівня (пріоритетності) повідомлень у зручні до читання префікси.

-h, --help

Вивести текст довідки і завершити роботу.

-V, --version

Вивести дані щодо версії і завершити роботу.

КОЛЬОРИ

Розфарбовування виведених даних реалізовано у можливості terminal-colors.d(5). Неявне розфарбовування може бути вимкнено спорожненням файла

/etc/terminal-colors.d/{команда}.disable

для команди {команда} або для усіх інструментів

/etc/terminal-colors.d/disable

Специфічні для користувача $XDG_CONFIG_HOME/terminal-colors.d або $HOME/.config/terminal-colors.d мають пріоритет над загальними параметрами.

Зауважте, що можна типово увімкнути розфарбовування виведених даних і у цьому випадку каталоги terminal-colors.d не повинні існувати.

Логічними назвами кольорів, підтримку яких передбачено у dmesg, є такі:

subsys

Префікс підсистеми повідомлень (наприклад, «ACPI:»).

time

Часова позначка повідомлення.

timebreak

Часова позначка у короткому форматі ctime у виведенні --reltime або --human.

alert

Текст повідомлення із пріоритетністю сигналу тривоги у журналі.

crit

Текст повідомлення із пріоритетністю критичної помилки у журналі.

err

Текст повідомлення із пріоритетністю помилки у журналі.

warn

Текст повідомлення із пріоритетністю попередження у журналі.

segfault

Текст повідомлення, яке повідомлятиме про помилку сегментації.

СТАН ВИХОДУ

dmesg can fail reporting permission denied error. This is usually caused by dmesg_restrict kernel setting, please see syslog(2) for more details.

АВТОРИ

Karel Zak <kzak@redhat.com>

dmesg was originally written by Theodore Ts’o <tytso@athena.mit.edu>.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

terminal-colors.d(5), syslogd(8)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся системою стеження за вадами - <https://github.com/util-linux/util-linux/issues>.

ДОСТУП ДО ПРОГРАМИ

Програма dmesg є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-27 util-linux 2.40