On multi-socket servers (and some big single-socket ones), memory is attached to specific CPUs. Access to a CPU's own memory ("local") is faster than to another node's ("remote"). numastat shows how well allocations are placed.
numactl --hardware # nodes, CPUs, memory sizes, distances
numastat # per-node numa_hit, numa_miss, numa_foreign, local_node, other_node
numastat -m # /proc/meminfo-style per node
numastat -p <pid> # a process's memory per node
numastat -c qemu-kvm # by process name, compact
A growing numa_miss / other_node suggests processes are running on a different node from their memory. Pin them with numactl --cpunodebind=0 --membind=0 command or fix VM/CPU pinning. numactl is in the numactl package.