6.2.7. Changing a Shared Memory Pool
A shared memory pool can be changed online. LPARs that use the shared memory pool can remain active when the shared memory pool is changed. Among other things, the following attributes can be changed:
- pool_mem – the size of the shared memory pool (must be a multiple of the LMB size)
- max_pool_mem – the maximum size of the shared memory pool
- paging_vios_names – one or two paging virtual I/O servers (list separated by commas)
- … – further attributes are listed in the online help („ms help chmempool”)
The shared memory pool on the managed system was created with a size of 20 GB. The size is now to be expanded to 24 GB, whereby the maximum size should be 32 GB. The command for changing a shared memory pool is “ms chmempool” (change memory pool):
$ ms chmempool ms03 pool_mem=24G max_pool_mem=32G
$
The new pool size can be checked using “ms lsmempool“:
$ ms lsmempool ms03
POOL_MEM PAGING
MS_NAME CURR AVAIL FIRMWARE MAX VIOS_NAMES MEM_DEDUP
ms03 24576 23896 269 32768 ms03-vio1 0
$
The shared memory pool currently only has one paging virtual I/O server and therefore no redundancy if the paging virtual I/O server ms03-vio1 fails. However, this can be changed online if another paging virtual I/O server is available:
$ ms chmempool ms03 paging_vios_names=ms03-vio1,ms03-vio2
$
If the additional paging virtual I/O server has access to the same paging devices, this is recognized automatically:
$ ms lspgdev ms03
REDUNDANT
MS_NAME DEVICE_NAME PAGING_VIOS_NAME STATE DEVICE_NAME PAGING_VIOS_NAME STATE SIZE TYPE LPAR_ID
ms03 hdisk4 ms03-vio1 Active hdisk4 ms03-vio2 Inactive 51200 phys 5
ms03 hdisk3 ms03-vio1 Active hdisk3 ms03-vio2 Inactive 51200 phys 6
$
Both paging devices can also be accessed by paging virtual I/O server ms03-vio2. In this case, even the device names are identical on both paging virtual I/O servers, but this is in general usually not the case. However, the shared memory LPARs only know the first paging virtual I/O server configured when the LPAR was created:
$ 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 -
shlpar1 shared 0.0 1024 4096 8192 0 0 0 1 60 ms03-vio1 -
$
This can only be changed in the profile of the LPAR:
$ lpar -p standard chmem aix22 secondary_paging_vios_name=ms03-vio2
$
For the change to take effect, the LPAR must be shut down and reactivated with the changed profile:
$ lpar -i osshutdown aix22
$
$ lpar -p standard activate aix22
$
Only then, the LPAR can use the second paging virtual I/O server and is configured redundantly:
$ 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 -
$