TGViewer
Сочный DevOps Сочный DevOps @andtree_sec · 420 subscribers
Post #175 116
Чиним сервера с AMD процессорами при высоких нагрузках на сеть

Ошибка обычно выглядит примерно так:
[ 7139.664994] ice 0000:c1:00.0 ens13f0: tx_timeout recovery unsuccessful, device is in unrecoverable state.
[ 7144.528992] ice 0000:c1:00.0 ens13f0: NETDEV WATCHDOG: CPU: 61: transmit queue 0 timed out 1329236 ms
[ 7149.648246] ice 0000:c1:00.0 ens13f0: NETDEV WATCHDOG: CPU: 61: transmit queue 0 timed out 1334356 ms
[ 7149.649362] ice 0000:c1:00.0 ens13f0: tx_timeout recovery unsuccessful, device is in unrecoverable state.
[ 7154.512396] ice 0000:c1:00.0 ens13f0: NETDEV WATCHDOG: CPU: 61: transmit queue 0 timed out 1339220 ms
[ 7159.632556] ice 0000:c1:00.0 ens13f0: NETDEV WATCHDOG: CPU: 61: transmit queue 0 timed out 1344340 ms


Есть ряд проблемных серверов, а именно имеющих процессор - AMD EPYC 7643 48-Core Processor и сетевую карту ntel Corporation Ethernet Controller E810-XXV с драйвером ice.

Мы обнаружили на нагруженных kafka кластерах, где на один инстанс может приходиться до 3 гигабайт сетевого трафика, ошибку как на скрине. Сервер вставал колом из-за этого.

Прочие симптомы:
1. Потери пакетов.
2. Высокое latency ответов и пинга.
3. Утилизация ядер потоками ksoftirqd.

Обычно достаточно под тюнить ядро, мы запускаем так:
module_blacklist=cdc_ether intel_idle.max_cstate=0 processor.max_cstate=1 intel_pstate=disable noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off mitigations=off pcie_aspm=off idle=poll iommu=pt quiet


Затем обновляем ice драйвер до последней версии.
В sysctl.conf ставим параметр:
net.core.rps_sock_flow_entries = 32768


В sysfs.conf для каждого ядра:
class/net/<interface_name>/queues/rx-0/rps_flow_cnt = 2048

Обычно хватает и опций в grub.

#linux
  • ❤ 1
More from @andtree_sec
  1. Sep 7, 2026Давненько не было сообщений. Скорее всего в будущем они уйдут в telegraf, который я еще не…
  2. Jul 6, 2026Последнее время на работе часто приходится работать с apache flink и даже что-то писать на…
  3. Jun 4, 2026Немножко про молекула тесты... У нас принято использовать в переменных lookup плагин для д…
  4. May 20, 2026Очередной небольшой проект. Веб-приложение, которое агрегирует через стандартный механиз g…
  5. May 15, 2026Включаем профилирование в ansible Профилирование, это вывод даты, времени запуска и итогов…
  6. Apr 17, 2026Так выглядит общий dashbord работы с инцидентами.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →