TGViewer
BeerPanda. Органично недоразвитый DevOps BeerPanda. Органично недоразвитый DevOps @beerpanda · 1.82K subscribers
Post #440 1.98K
Когда слышал про NUMA, но не понял как все это работает.

Встретил вот такую интересную статью, в которой предлагают бороться с NUMA через CPU Affinity

Краткий комментарий от меня:

1. Задача поддерживать NUMA locality - задача гипервизора
2. Чем больше инфраструктура - тем меньше в нее надо лезть руками
3. При задании CPU affinity слетает миграция и балансировка
4. CPU affinity не имеет смысла, если гипервизор память выделил НЕ на на том же узле

Ну и отдельные перлышки.

В рабочих окружениях мы обычно имеем дело с серверами на 32 и больше ядер.


NUMA массово в x86 появилась во времена Xeon 55xx Nehalem, 2008 год. От 2 до 8 ядер на процессор.

А для работы с большими объёмами оперативки - Non-Uniform Memory Access (NUMA).


Для сокращения пути ядро<->память, а не для большого объема. Объем-то как раз не проблема нарастить, только все упрется в пропускную способность и задержки.

Но виртуальные машины не имеют информации о том, как устроены NUMA-узлы и ядра на хосте


Поэтому размещением машин и локальностью NUMA занимается гипервизор. В этом весь смысл виртуализации.

Но в реальном продакшене


В реальном продакшене количество узлов в кластере может составлять десятки хостов. ВМ постоянно создаются, включаются, выключаются, перемещаются (живая миграции). Как результат идет фрагментация памяти. А управлять процессор должен планировщик процессора и менеджер памяти гипервизора.
Использования CPU affinity для борьбы с NUMA - уровень "чтобы быстрее ползать надо отрубить ноги".
Telegraph Proxmox: привязка CPU к виртуальным машинам Не всегда очевидно, зачем вообще нужна привязка CPU к виртуальным машинам, особенно если речь идёт о небольших развертываниях - там этот параметр чаще всего просто игнорируют. Но в реальном продакшене использование CPU affinity становится действительно важным…
  • 😁 14
  • 👍 5
  • 🤣 3
  • ❤‍🔥 1
More from @beerpanda
  1. Oct 11, 2026Post #471
  2. Oct 8, 2026Сгорел ЦОД Яндекса. Что делать? В 22м году писал о том, как надо заходить в облако, чтобы…
  3. Oct 5, 2026Post #469
  4. Oct 5, 2026Post #468
  5. Oct 2, 2026Post #467
  6. Oct 1, 2026Post #466
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 →