6.2.9. I/O Entitled Memory
Für I/O Operationen ist es essentiell das zum Zeitpunkt des I/O physikalischer Speicher verfügbar ist. Trifft beispielsweise ein Netzwerk-Paket ein und es gibt keinen physikalischen Speicher in dem das Paket abgelegt werden kann, da erst physikalischer Speicher über den Hypervisor aus dem Shared Memory Pool zugeordnet werden muß, dann kann dies die Latenz-Zeit der Netzwerk-Kommunikation deutlich erhöhen. Oder soll eine Platten Paging Operation durchgeführt werden und die Ziel-Speicherseite für die Operation ist selbst aktuellem keinem physikalischen Speicher zugeordnet, so erhöht dies die Dauer der Paging Operation deutlich. Im ungünstigsten Falle könnte eine I/O Operation auch fehlschlagen, weil ein vorgegebenes maximales Timeout erreicht wird.
Um dies zu verhindern wird bei Verwendung von Shared Memory eine gewisse maximale Menge an physikalischen Speicher für I/O-Operationen garantiert, unabhängig davon, wieviel andere LPARs gerade an physikalischem Speicher benötigen. Diese garantierte Menge an physikalischem Speicher wird als I/O Entitled Memory bezeichnet. Per Default wird die Größe automatisch ermittelt in Abhängigkeit der Art und Anzahl von virtuellen I/O Adaptern.
Wieviel I/O Entitled Memory einer LPAR gerade zugewiesen ist, kann mit dem Kommando „lpar lsmem“ angezeigt werden:
$ 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 -
$
Die LPAR aix22 mit 4 virtuellen I/O Adaptern besitzt gerade 351 MB I/O Entitled Memory, wohingegen die LPAR shlpar1 mit nur einem virtuellen Ethernet Adapter lediglich 60 MB I/O Entitled Memory besitzt.