Re: net_ratelimit: 2 callbacks suppressed
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/
Reply to: