NUMA ist sozusagen Memory und CPU Caching auf Hardware Ebene. Das kann für Produktionsdatenbanken (MySQL und MongoDB) ungünstig sein. Deswegen schaltet man das aus.
Status
Herausfinden ob NUMA aktiviert ist, lässt sich über den Kernel.
$ dmesg | grep -i numa
[ 0.000000] No NUMA configuration found
Manchmal ist die Meldung aber zu sehr am Anfang, weswegen man lieber im Log nachsieht.
zgrep -i numa /var/log/messages*
kernel: [ 0.000000] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0x0fffffff] -> [mem 0x00000000-0x0fffffff]
So sieht das aus wenn NUMA aktiviert ist.
Konfiguration
Es gibt eine Tool das NUMA Einstellungen pro Prozess oder global setzen kann. Die nachfolgende Option verteilt den Memory Alloc gleichmässig auf alle Nodes.
numactl --interleave=all <path> <options>
Auf Platte persistieren kann man das deaktivierte NUMA auch via
sudo sysctl -w vm.zone_reclaim_mode=0
Details
Anzeigen der NUMA Statistiken (Cache Hits..)
cat /sys/devices/system/node/node*/numastat