6.2.1. Creation of a Shared Memory Pool

Before a shared memory LPAR can be created, a shared memory pool must be created first. At least the size of the shared memory pool and one or two paging virtual I/O servers must be specified. Our managed system ms03 still has plenty of free main memory, as the output of “ms lsmem” shows:

$ ms lsmem ms03
NAME  INSTALLED  FIRMWARE  CONFIGURABLE  AVAIL   MEM_REGION_SIZE
ms03  1048576    13568     1048576       790272  256
$

There are currently 790272 MB (approx. 772 GB) of free physical main memory available. The shared memory pool on ms03 can be created with the command “ms addmempool” (add memory pool):

$ ms addmempool ms03 pool_mem=20G paging_vios_names=ms03-vio1
$

The attribute pool_mem is used to specify the size of the shared memory pool. The specified amount of physical memory is reserved immediately and is therefore no longer available for dedicated memory LPARs. The listing of the available memory after creating the shared memory pool shows that less physical main memory is now available:

$ ms lsmem ms03
NAME  INSTALLED  FIRMWARE  CONFIGURABLE  AVAIL   MEM_REGION_SIZE
ms03  1048576    14336     1048576       769024  256
$

Note: After creating the shared memory pool, it can take some time until the physical memory is reserved or allocated!

The attribute paging_vios_names can be used to specify one or a maximum of two paging virtual I/O servers (separated by commas). Even if we start here with only one paging virtual I/O server ms03-vio1, in practice, for reasons of redundancy, two paging virtual I/O servers should always be specified. If one of the paging virtual I/O servers fails, the second takes over automatically.

The current shared memory pool can be displayed with the command “ms lsmempool” (list memory pool):

$ ms lsmempool ms03
                      POOL_MEM               PAGING               
MS_NAME  CURR   AVAIL  FIRMWARE  MAX    VIOS_NAMES  MEM_DEDUP
ms03   20480  20224  256       20480  ms03-vio1  0
$