Мульти-GPU на RTX 4090 в продакшене: топология PCIe, NUMA-биндинг и борьба с OOM — 5 июля 2026 г. в 05:47:44.432
Мульти-GPU на RTX 4090 в продакшене: топология PCIe, NUMA-биндинг и борьба с OOM Сборка сервера на потребительских картах NVIDIA RTX 4090 для локального инференса — это не просто «купить железо и запустить». В отличие от Data Center решений (H100/A100), здесь нет NVLink для бесшовного обмена памятью между GPU. Весь трафик идет через PCIe-слог, что создает узкие места при распределенном инференсе или когда модель не влазит в одну карту. Если игнорировать топологию и NUMA-узлы, задержки (latency) вырастут на 30–40%, а система начнет кидать OOM-убийцы даже при свободной VRAM из-за фрагментации памяти или некорректного доступа CPU к буферам GPU. Главная ошибка — считать, что Docker видит «просто GPU». Контейнеризация на многопроцессорных системах требует жесткого привязывания (pinning) процессов к конкретным NUMA-нодам и PCIe-портам. Без этого ядра будут мигрировать между сокетами CPU, вызывая промахи в кэше L3 и задержки при передаче тензоров через DMA. Также критично настроить HugePages на уровне Linux: стандартная аллокация памяти (4KB) убивает производительность при работе с большими контекстными окнами, так как увеличивает TLB-misses. Еще один нюанс — термальный и энергетический трекинг. RTX 4090 имеют агрессивный boost-алгоритм, но в серверных шасси airflow ограничен. Если не ограничить Power Limit через CLI, карта будет циклически троттлить при пиковых нагрузках, что приводит к нестабильному throughput (token/s). Для стабильности лучше зафиксировать частоты и лимиты мощности ниже максимальных заводских значений. Ниже — конкретные шаги для хардкорной настройки узла на Debian/Ubuntu под vLLM или Ollama. #AI #LLM #OpenSource #Infra

