Memory Management on NUMA Machines

As presented in Chapter 7, CPUs on Non-Uniform Memory Access (NUMA) machines have access to memory on their own nodes as well as on other nodes. However, a CPU accessing memory on its own node is significantly faster than when a CPU accesses memory on a foreign node. By default, when a thread commits physical storage, the operating system tries to back the physical storage with RAM from the CPU’s own node to improve access time performance. Only if insufficient RAM is available will Windows use RAM from a foreign node to back the storage.

When you are calling GlobalMemoryStatusEx, the value returned through the ullAvailPhys parameter is the sum of the available memory across all nodes. Call the following function ...

Get Windows® via C/C++, Fifth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.