Performance considerations for overcommitted shared memory partitions

Learn about how the degree to which the memory configuration of a logical partition that uses shared memory (hereafter referred to as a shared memory partition) is overcommitted affects the performance of the shared memory partition. In general, the less overcommitted the memory configuration of a shared memory partition, the better its performance.

A shared memory configuration is considered overcommitted when the sum of the logical memory that is assigned to all of the shared memory partitions is greater than the amount of physical memory in the shared memory pool.

When the sum of the physical memory currently used by the shared memory partitions is less than or equal to the amount of memory in the shared memory pool, the memory configuration is logically overcommitted. In a logically overcommitted memory configuration, the shared memory pool has enough physical memory to contain the memory used by all shared memory partitions at one point in time.

Figure 1. A shared memory partition in a logically overcommitted memory configuration
A shared memory partition in a logically overcommitted memory configuration

The figure shows a shared memory partition that is assigned 2.5 GB of logical memory. Its maximum logical memory is 3 GB and its minimum logical memory is 1 GB. The figure also shows that the amount of physical memory that is currently allocated to the shared memory partition from the shared memory pool is 2.1 GB. If the workload that runs in the shared memory partition currently uses 2.1 GB of memory and requires an additional 0.2 GB of memory, and the shared memory pool is logically overcommitted, the hypervisor allocates an additional 0.2 GB of physical memory to the shared memory partition by assigning memory pages that are not currently in use by other shared memory partitions.

When the sum of the physical memory currently used by the shared memory partitions is greater than the amount of memory in the shared memory pool, the memory configuration is physically overcommitted. In a physically overcommitted memory configuration, the shared memory pool does not have enough physical memory to contain the memory used by all the shared memory partitions at one point in time. The hypervisor stores the difference in auxiliary storage.

Figure 2. A shared memory partition in a physically overcommitted memory configuration
A shared memory partition in a physically overcommitted memory configuration

The figure shows a shared memory partition that is currently allocated 0.8 GB of physical memory and assigned 2.5 GB of logical memory. If the workload that runs in the shared memory partition currently uses 0.8 GB of memory and requires an additional 1.5 GB of memory, and the shared memory pool is physically overcommitted, the hypervisor stores 1.5 GB of the shared memory partition's memory in its paging space device.

When the shared memory partition needs to access data on the paging space device, the hypervisor directs a paging VIOS partition to read the data from the paging space device and write the data to the shared memory pool. The more memory that the hypervisor must store on the paging space device, the more often the hypervisor and paging VIOS partition need to read and write data between the paging space device and the shared memory pool. Compared to directly accessing data that is stored in the shared memory pool, it takes more time to access data that is stored in the paging space device. Thus, in general, the less overcommitted the memory configuration of a shared memory partition, the better its performance.

The operating systems that run in the shared memory partitions help improve the performance of the shared memory partitions with overcommitted memory configurations by providing the hypervisor with information about how the operating system uses the physical memory allocated to it. Using this information, the hypervisor can store data that the operating system accesses the least often in the paging space device and store the data that the operating system accesses the most often in the shared memory pool. This reduces the frequency that the hypervisor needs to access the paging space device and increases the performance of the shared memory partition.




Last updated: Fri, July 05, 2019