Configuring and Migrating Memory on vPars
10
Memory Granules – Containers for Physical Memory
The granule (aka segment) denotes the unit of memory by which the user can assign or remove
memory resources to a partition. In the A.01.xx, A.02.xx and A.03.xx vPars releases, the vPars
software fixes the granule size at 64 MB and does not provide any flexibility to the system
administrator to change it. The vPars A.04.xx and A.05.xx releases allow the system administrator to
specify the granule size as a power of two multiple of 64 MB: 64 MB, 128 MB, 256 MB, and so on.
Moreover, the system administrator can choose different granule sizes for ILM and CLM.
The vPars software logically partitions the physical memory address space in the system into equal
sized and aligned granules and uses these as containers for valid physical memory within that
address space. For example, if the granule size is 64 MB, the physical address space is divided into
0 to 64 MB for the first granule, 64 MB to 128 MB for the second granule and so on. If during boot,
the vPars monitor discovers valid physical memory from 32 MB to 128 MB, then the first granule will
contain 32MB of memory and second granule will contain 64MB of memory. When a granule is not
fully populated to its size with memory as demonstrated with the first granule in the above example,
the granule is said to contain a memory hole.
The ILM and CLM granule size information specified by the system administrator is stored in the vPars
database when it is created. For A.04.xx and A.05.xx vPars releases, the default size is 128 MB for
both ILM and CLM. On HP Integrity servers, the firmware also divides the memory into memory
objects based on the granule size. Hence, to inform firmware, in addition to the vPars database, the
granule size information is also stored in non-volatile RAM (NVRAM). The following provides details
on how to configure granule size in the A.04.xx and A.05.xx vPars releases. As mentioned earlier,
this configuration is not required in the A.01.xx, A.02.xx and A.03.xx vPars releases as the granule
size is fixed at 64 MB.
1. On HP Integrity servers, there is a limit in firmware on the number of memory objects that can
be created. Determine what the limit is as follows:
a. Find out the maximum CLM any cell has and the total ILM in the system using the
parstatus command.
# parstatus –c <cell number>... –V
# parstatus –p <hard partition number> -V
b. Change the mode to vPars and issue the vparenv command to find out the maximum
number of ILM and per cell CLM granules that can be created on the system.
# vparenv –m vPars
# vparenv
c. Divide the total ILM by the maximum number of ILM granules to determine the minimum
ILM granule size.
d. Divide the maximum CLM found in any cell by the maximum number of per cell CLM
granules to determine the minimum CLM granule size.
2. Determine the ILM and CLM granule size for the system making sure it is a power of two
multiple of 64 MB. For HP Integrity servers, it should be equal to or greater than the minimum
size evaluated in the previous step.