Эти метрики используются для профилирования Automati c NUMA Balancing .
Балансировщик работает следующим образом:
- Когда проверяемый процесс не запланирован, сканируется часть его адресного пространства и каждая страница помечена как отсутствующая.
Это приведет к ошибке в следующий раз, когда процесс получит доступ к адресу на этих страницах.
Эти прерывания предназначены и называются NUMA Hinting Hault (NHF). - Когда происходит NHF, ядро переносит страницу в локальную память для сбоя thread .
Теперь процесс может иметь несколько потоков, и когда балансировщик забирает часть адресного пространства, он не может знать, какой поток будет обращаться к какой странице, и поэтому он не может исключить страницы, которые уже являются локальными для узла, где выполняется один из потоков.
Например, если процесс имеет два потока, A e B, в узлах N1 и N2, балансировщик не может пропустить страницу X, даже если он уже находится в локальной памяти узла N1 (или N2).
Так что иногда балансировщик оказывается в ситуации, когда страница NHF уже в памяти, ближайшей к потоку, это называется локальный NHF .
Процент локального NHF по отношению к общему NHF является оценкой того, насколько оптимальной является топология выделенной памяти.