
numactl: привязка процесса к своему NUMA-узлу
На двухсокетном сервере память физически разделена между процессорами: у каждого сокета свой контроллер и свой банк DRAM. Процесс на CPU первого сокета, чьи страницы памяти выделены рядом со вторым, платит лишней латентностью на каждое обращение — оно уходит через межпроцессорную шину вместо локальной. Это и есть NUMA (Non-Uniform Memory Access), и для баз данных или числодробилок разница заметна прямо в задержках запросов. Посмотреть топологию — сколько узлов видит система и какие у них расстояния друг от друга: ...








