Почему сервер теряет пакеты?

Недавно заметил задержки в хождении пакетов. А ifconfig выдавал

viifv1064: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc16:3eff:fe4d:b2ea  prefixlen 64  scopeid 0x20<link>
        ether fe:16:3e:4d:b2:ea  txqueuelen 1000  (Ethernet)
        RX packets 12913913  bytes 1397700520 (1.3 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 441260430  bytes 47988237591 (44.6 GiB)
        TX errors 0  dropped 150343 overruns 0  carrier 0  collisions 0

Как видим, имеются dropped packets. RX — входящий пакет, тут ошибок нет. TX — исходящий пакет, дропается до выхода из сервера. Общие логи ничего не показали, никаких ошибок.

Как узнать причину?
dropwatch! см. https://github.com/nhorman/dropwatch
сам rpm пакет есть в epel, если у вас не подлючен то подключаем

dnf config-manager --set-enabled crb
dnf install epel-release

И установим dropwatch

dnf install dropwatch

Теперь можно запустить и вводим «start»

dropwatch -l kas

Получаем вот такое:

dropwatch> start
Enabling monitoring...
Kernel monitoring activated.
Issue Ctrl-C to stop monitoring
24 drops at __init_scratch_end+34906987 (0xffffffffc0706987)
4 drops at ip_rcv_finish+212 (0xffffffff880dcd92)
1 drops at ip6_mc_input+236 (0xffffffff88172e86)
1 drops at nf_hook_slow+b4 (0xffffffff880cfd84)
1 drops at skb_release_data+b9 (0xffffffff88021c29)
10420 drops at __init_scratch_end+34906987 (0xffffffffc0706987)

Что оставить, нажмите ctr+c. Как видим, больше потерь у нас от
10420 drops at __init_scratch_end+34906987 (0xffffffffc0706987)

Теперь необходимо понять что это. Для этого установить debug ядра

debuginfo-install kernel
dnf install elfutils

Ну и выполним команду

eu-addr2line -f -k 0xffffffffc0706987

Мы получим что-то типа такого

ip_rcv_finish
/usr/src/debug/kernel-4.18.0-513.18.1.el8_9/linux-4.18.0-513.18.1.el8_9.x86_64/net/ipv4/ip_input.c:411:9

С этой информацией уже можем крутить нужные лимиты ядра.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.