AIX® memory affinity support
IBM® POWER® processor-based platform SMP hardware systems contain modules that are capable of supporting single, dual, or multiple processor chips depending on the particular system. Each of these modules contain multiple processors and the system memory is attached to these modules. While any processor can access all of the memory in the system, a processor has faster access, and higher bandwidth when addressing memory that is attached to its own module rather than memory attached to the other modules in the system.
When memory affinity is enabled, each module has its own vmpool, which contains one or more memory pools. Each memory pool has its own page replacement daemon, lrud. The amount of memory in each pool is based on how much memory is available in the module or allocated to the VMM by the hypervisor layer.
AIX® provides memory affinity by allocating memory for a process from the module
containing the processor that caused the page fault. Each module has its own
vmpool
, which contains one or more memory pools. Each memory pool has its own page
replacement daemon, lrud
. The amount of memory in each pool is based on how much
memory is available in the module or allocated to the VMM by the hypervisor layer. Placement of user
memory can be configured using the MEMORY_AFFINITY environment variable.
MEMORY_AFFINITY
environment variable as follows:
MEMORY_AFFINITY=MCM
This behavior is propagated across a fork. However, for
this behavior to be retained across a call to the exec function, the variable
must be contained in the environment string passed to the exec function call. Related information
The vmo command and VMM page replacement tuning.
The bindprocessor command or subroutine.