6.2.9. I/O Entitled Memory

For I/O operations it is essential, that physical memory is available at the time of the I/O. For example, if a network packet arrives and there is no physical memory in which the packet can be stored, since physical memory must first be allocated from the shared memory pool by the hypervisor, then this can significantly increase the latency of the network communication. Or if a disk paging operation is to be carried out and the target memory page for the operation is not currently assigned to any physical memory, this increases the duration of the paging operation significantly. In the worst case, an I/O operation could also fail because a specified maximum timeout has been reached.

To prevent this, when using shared memory, a certain maximum amount of physical memory is guaranteed for I/O operations, regardless of how much physical memory is currently required by other LPARs. This guaranteed amount of physical memory is known as I/O entitled memory. By default, the size is determined automatically depending on the type and number of virtual I/O adapters.

How much I/O entitled memory is currently assigned to an LPAR can be seen with the command “lpar lsmem“:

$ lpar lsmem aix22 shlpar1
             MEMORY          MEMORY         HUGE_PAGES    IO_ENTITLED_MEM      PAGING_VIOS
LPAR_NAME  MODE    AME  MIN   CURR  MAX   MIN  CURR  MAX  AUTO     CURR    PRIMARY    SECONDARY
aix22   shared  0.0  1024  2048  8192  0    0     0    1        351     ms03-vio1  ms03-vio2
shlpar1    shared  0.0  1024  4096  8192  0    0     0    1        60      ms03-vio1  -
$

The LPAR aix22 with 4 virtual I/O adapters has just 351 MB I/O entitled memory, whereas the LPAR shlpar1 with only one virtual Ethernet adapter has only 60 MB I/O entitled memory.