2012-01-17

Черезмерная "говорливость" ядра в консоль

В некоторых дистрибах(например CentOS), при поумолчательных настройках,  ядро очень говорливо в консоль, особенно раздражают бесконечно валящиеся логи iptables. Причина такого поведения не очень очевидна и кроется она за параметром ядра kernel.printk.

Умолчательные параметры в CentOS:


#sysctl kernel.printk
kernel.printk = 6    4    1    7


Где числа означают:
  1. Сonsole loglevel
  2. Default level for messages without a warning (DEFAULT_MESSAGE_LOGLEVEL)
  3. Minimum allowed (MINIMUM_CONSOLE_LOGLEVEL)
  4. Boottime default loglevel.
Нас, в данном случае, интересует только первое, Сonsole loglevel . Сообщения ядра с уровнем равным  Сonsole loglevel и менее выводятся на консоль.

Возможные варианты:
  • KERN_EMERG 1
  • KERN_ALERT 2
  • KERN_CRIT 3
  • KERN_ERR 4
  • KERN_WARNING 5
  • KERN_NOTICE 6
  • KERN_INFO 7
  • KERN_DEBUG 8

Уменьшаем текущий уровень Сonsole loglevel:


sysctl kernel.printk='4  4  1  7'


Радуемся полученому результату. Для большей перманентности, можно добавить эту строку в /etc/sysctl.conf , что восстановит необходимые значения при загрузке системы.