Tuning the CPU and memory with NUMA
Before we start tuning the CPU and memory for NUMA-capable systems, let's see what NUMA is and how it works.
Think of NUMA as a system where you have more than one system bus, each serving a small set of processors and associated memory. Each group of processors has its own memory and possibly its own I/O channels. It may not be possible to stop or prevent running VM access across these groups. Each of these groups is known as a NUMA node.
In this concept, if a process/thread is running on a NUMA node, the memory on the same node is called local memory and memory residing on a different node is known as foreign/remote memory. This implementation is different from the Symmetric Multiprocessor System (SMP), where the access time for all of the memory is the same for all the CPUs, as memory access happens through a centralized bus.
An important subject in discussing NUMA is the NUMA ratio. The NUMA ratio is a measure of how quickly a CPU...