3.6. Non-Uniform Memory Access

Non-Uniform Memory Access (NUMA) is a design used to allocate memory resources to a specific CPU. This can improve access time and results in fewer memory locks. Although this appears as though it would be useful for reducing latency, NUMA systems have been known to interact badly with realtime applications, as they can cause unexpected event latencies.
As mentioned in Procedure 2.6, “Binding Processes to CPUs using the taskset utility” the taskset utility only works on CPU affinity and has no knowledge of other NUMA resources such as memory nodes. If you want to perform process binding in conjunction with NUMA, use the numactl command instead of taskset.
For more information about the NUMA API, see Andi Kleen's whitepaper An NUMA API for Linux.
Related Manual Pages
For more information, or for further reading, the following man pages are related to the information given in this section.
  • numactl(8)