On 2016-07-10, Eugene Berdnikov wrote: > On Sun, Jul 10, 2016 at 04:21:47PM +0300, Oleksandr Gavenko wrote: >> По сообщению в логе /var/log/messages: >> >> net_ratelimit: 2 callbacks suppressed >> >> нашел обьяснение: >> >> >> https://bani.com.br/2015/06/linux-getting-rid-of-net_ratelimit-n-callbacks-suppressed-messages/ >> >> и повысил лимиты в /etc/sysctl.conf: >> >> net.core.message_cost = 1 >> net.core.message_burst = 20 >> >> >> bash# sudo sysctl -p >> >> Соответствующие сообщения перестали сыпаться. Хотелось увидеть какие >> сообщения >> пропадают, попробовал через: >> >> bash# sudo inotifywait -e modify -m -r /var/log > > Вы же их выключили, :) т.е. запретили передачу из ядра в syslog, а теперь > пытаетесь найти что-то в /var/log/. Конечно, там теперь ничего не будет. >
Почему выключил и что выключил? Мое понимание - были некие события, которые не попали в логи, т.к. для сетевого кода ядра и модулей по дефолту net.core.message_cost = 5, net.core.message_burst = 10 (т.е. ограничение не более 10 событий за 5 сек). Я повысил лимит сначала до 5 событий в секунду и все еще проскальзывало сообщение: bash# dmesg -e | tail [Jul10 14:59] net_ratelimit: 7 callbacks suppressed [Jul10 15:03] net_ratelimit: 7 callbacks suppressed [Jul10 15:05] net_ratelimit: 7 callbacks suppressed [Jul10 15:09] net_ratelimit: 7 callbacks suppressed [Jul10 15:12] net_ratelimit: 7 callbacks suppressed [Jul10 15:14] net_ratelimit: 7 callbacks suppressed [Jul10 15:17] net_ratelimit: 7 callbacks suppressed [Jul10 15:20] net_ratelimit: 7 callbacks suppressed [Jul10 15:23] net_ratelimit: 7 callbacks suppressed [Jul10 15:26] net_ratelimit: 7 callbacks suppressed Последняя запись - посделняя за день, когда лимит еще не был задран - до 20 соб/сек. >> Как узнать куда уходят сообщения, ранее скрываемые "net.core"? > > Для этого, во-первых, нужно сообщения вытащить из ядра. То есть вынимать > из /dev/kmsg безусловно, во-вторых, сделать чтение из syslogd по запросу. > Вроде dmesg делает чтение из /dev/kmsg, коственно по тексту man страницы и сравнением вывода: $ cat /dev/kmsg $ dmesg -r Сообщение "7 callbacks suppressed" видно в /dev/kmsg и такие записи последние. Если несколько "callbacks suppressed", а потом не-suppressed я ожидал что они отобразяться в /dev/kmsg. Хотя меня смущает слово "callbacks". Может никаких событий логгирования и не происходило? > Вам не нравится, что сообщения сыпятся в /var/log/messages? Так отключите, > переконфигурив syslog. Если нужно читать on demand, сделайте так, чтобы > syslog писал их в /dev/null, например. Или посылал по сети туда, где никто > не слушает, например, на 127.0.0.1. В первом случае можно будет смотреть, > что пишется в файловый дескриптов strace'ом, во втором -- ловить и смотреть > пакеты tcpdump'ом. Первый способ намного дешевле по ресурам. Я не все понимаю из предложеного. У меня VPS с домашней страничкой перестал быть доступным из сети, хотя WEB-панелька хостера говорила что виртуалка жива. Перезагрузка VPS из панелки сделала хост снова доступным, в логах ряд наиболее послених сообщения вида: 2 callbacks suppressed Есть небольшое желание сделать так что бы в следующий раз видеть что то более осмысленное. -- http://defun.work/