Изменение TX и RX буферов сетевых интерфейсов в Linux

Приведу пример изменения TX и RX буферов сетевых интерфейсов в Linux.
Сначала установим ethtool если он не установлен:

sudo apt install ethtool

Посмотрим имена сетевых интерфейсов:

ifconfig -a

Посмотрим не теряются ли пакеты, например если через сервер проходит большой трафик, то может увеличиваться значение «missed»:

cat /sys/class/net/ens2f0/statistics/rx_missed_errors
ip -s -s link show
ifconfig ens2f0
ethtool -S ens2f0 | grep rx_missed_errors && sleep 10 && ethtool -S ens2f0 | rx_missed_errors

Если теряются, то посмотрим текущий и максимальный размер TX и RX буферов:

ethtool -g eth0

При необходимости изменим максимальный размер (изменения сбросятся после перезагрузки сервера):

sudo ethtool -G eth0 rx 512
sudo ethtool -G eth0 rx 512 tx 512

Чтобы изменения остались после перезапуска сервера, я открыл файл (в редакторе nano комбинация клавиш Ctrl+O служит для сохранения изменений, Ctrl+X для выхода):

sudo nano /etc/network/interfaces

И добавил строку:

post-up /sbin/ethtool -G eth0 rx 512 tx 512

Иногда при запуске сервера команды из /etc/network/interfaces могут не применяться, в этом случае добавим их в /etc/rc.local, например:

/sbin/ethtool -G eth0 rx 512 tx 512

Готово, после перезапуска сервера значения были те что надо.

Можно мониторить количество missed_errors, например через Zabbix-agent указав в его конфигурации:

UserParameter=missed_errors_ens1f1,cat /sys/class/net/ens1f1/statistics/rx_missed_errors
UserParameter=missed_errors_ens3f1,cat /sys/class/net/ens3f1/statistics/rx_missed_errors

Смотрите также мои статьи:
Настройка сети в Linux
Мониторинг текущих RX и TX буферов сетевых интерфейсов в Zabbix

Вливайтесь в общение

1 комментарий

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

Больше на IT Blog

Оформите подписку, чтобы продолжить чтение и получить доступ к полному архиву.

Continue reading