Приведу пример изменения 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
Спасибо большое!