3

Я использую устройство, которое чрезмерно спамит сообщения ядра (10-100 сообщений в секунду, драйверы Mediatek ...), где невозможно удалить логи из самого ядра (распространяются на сотни файлов).

Я признал, что dmesg практически бесполезен на этом устройстве, но, к сожалению, на системный журнал также влияют.

Можно ли отфильтровать / отключить запись сообщений ядра в журнал systemd?

2 ответа2

4

Хорошая практика Linux/Sysadmin рекомендует вам использовать что-то наподобие решения fzbd, в котором вы отключаете конкретный журнал, который вам не нужен, вместо того, чтобы отключать оптовые сообщения ядра.

Тем не менее, стоит упомянуть, что в systemd 235 есть опция отключения сообщений ядра в файле journald.conf . В основных документах journal.conf упоминается эта опция, которая позволяет отключить journald от чтения /dev/kmsg .

Версия 235 может пока не быть найдена во многих дистрибутивах, поэтому вы можете проверить свою версию systemd с помощью:

systemctl --version

Если у вас версия 235 или выше, вы можете сначала создать резервную копию исходного файла /etc/systemd/journald.conf, а затем раскомментировать соответствующую строку и изменить ее с yes на no:

ReadKMsg=no

Сохраните, выйдите и перезапустите службу journald:

sudo systemctl restart systemd-journald.service
3

Посмотрите, есть ли в модуле ядра вашего устройства какой-либо параметр logging/debug, который вы можете отключить:

modprobe $module_name
ls /sys/module/$module_name/parameters

Если нет, то для systemd с версией <235 лучшее, что вы можете сделать, - это отфильтровать сообщения по уровню журнала, например:

journalctl --priority=3

Вы можете проверить значения журнала с помощью man syslog .

Обратите внимание, что снижение уровней ведения журнала ядра с помощью kernel.printk влияет только на ведение журнала консоли, поэтому пользовательские приложения будут по-прежнему отображать одни и те же сообщения независимо от значений этого параметра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .