Процессорная топология · проверено по источникам

NUMA

NUMA — архитектура, в которой стоимость доступа процессора к памяти зависит от того, насколько близко расположен соответствующий узел памяти.

Также ищут: Non-Uniform Memory Access · неравномерный доступ к памяти · NUMA-топология

Практический смысл

Почему это важно

Потоки могут выполняться на одном NUMA-узле, а обращаться к памяти другого. Система останется совместимой, но задержка вырастет, поэтому для чувствительной нагрузки процессор и память размещают согласованно.

Доказательная часть

Что подтверждено

  1. В NUMA-системе банки памяти представлены узлами, а стоимость доступа процессора к ним различается в зависимости от расстояния до узла.

    Граница применимости: Модель физической памяти Linux; конкретная задержка и пропускная способность измеряются на выбранной платформе.

  2. По умолчанию Linux старается выделять память на NUMA-узле, ближайшем к процессору, где выполняется процесс.

    Граница применимости: Поведение действует, если не задана другая политика размещения и на ближайшем узле есть подходящая память.

  3. Политика NUMA управляет выбором узлов для размещения памяти и настраивается отдельно от набора процессоров, доступных задаче.

    Граница применимости: Контейнеры, виртуальные машины и приложения могут добавлять собственные ограничения поверх политики ядра Linux.

Граница терминов

Не путать

Бюджет линий PCIe

NUMA описывает близость памяти к процессору, а бюджет PCIe — происхождение линий ввода-вывода. Для многосокетной системы нужны обе схемы.

Перед спецификацией

Что проверить

  1. Посмотрите, на каких процессорах и NUMA-узлах работают потоки.
  2. Проверьте, где фактически выделена их память.
  3. Для чувствительной нагрузки измерьте локальный и удалённый доступ на целевой системе.
Открытые основания

Первоисточники

  • Официальная документация

    Physical Memory

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Описывает NUMA nodes, различную стоимость доступа и node-local allocation.

    Открыть первоисточник
  • Официальная документация

    NUMA Memory Policy

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Разграничивает NUMA memory policy и cpusets и описывает выбор узлов для выделения памяти.

    Открыть первоисточник
  • Официальная документация

    PCIe Lane Ownership on Intel Server Board S2600WF

    Intel · support article 000090009, проверено 21 июля 2023 года

    Показывает привязку riser-слотов к CPU 1, CPU 2 и DMI и зависимость части слотов от второго CPU.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие