Changing the buffer pools location value
Use this topic if you want to change your buffer pools Location value to above or below the virtual line called “the bar”. In a 64-bit address space, the bar marks the 2 GB address. The bar separates storage below the 2 GB address, called “below the bar”, from storage above the 2 GB address, called “above the bar”. The storage below the bar uses 31-bit addressability and the storage above the bar uses 64-bit addressability.
Attention: From IBM® MQ 9.1, LOCATION(BELOW) is deprecated and you should use LOCATION(ABOVE) only.How to change the Location value of a buffer pool
- You can use the ALTER BUFFPOOL command to dynamically change the LOCATION of the buffer pool to ABOVE. By default, the LOCATION value is set to BELOW. You can increase the number of buffers, depending on your system requirements. Specify the correct size and location value to maintain the queue manager load.
- Before applying the changes, make sure that enough storage is available for the new buffer pool
configuration. For LOCATION(ABOVE), you might need to adjust the amount of
available 64-bit storage by tuning the MEMLIMIT parameter. For more
information, see Storage configuration and
Queue manager storage configuration.
Attention: This task should be done during periods of low activity, when the queue manager is not handling heavy workloads. Increasing the buffer size or changing the location can be intensive.
- If you reduce the buffer pool size, recycle the queue manager immediately to clear any storage
issues caused by the size change. If you fail to recycle the queue manager, the error
ABEND878-10 - Virtual private region depletedmay appear by the fragmented region storage. - You can also apply the buffer pool changes with the DEFINE BUFFPOOL command in the CSQINP1 concatenation initialization dataset, but you must temporarily use the REPLACE option. When the queue manager is active, it records current buffer pool attributes in checkpoint log records. These are automatically restored upon subsequent queue manager restarts unless the buffer pool definition in CSQINP1 includes the REPLACE attribute. Return to the NOREPLACE option after queue manager restart. If you change the buffer pool size later by using the ALTER BUFFPOOL command and REPLACE is still specified in CSQINP1, the buffer pool will revert to the CSQINP1 definition with the next restart.
- If you need to apply the changes at queue manager startup, ALTER BUFFPOOL can be issued from the CSQINP2 concatenation. It cannot be issued from CSQINPT or the CSQINP1 DD concatenation. If you make changes dynamically to the buffer pool by using the ALTER BUFFPOOL command, it is a good idea to update the DEFINE BUFFPOOL command in the CSQINP1 file, without the REPLACE attribute, to reflect the final configuration. This configuration is used in the rare event of a cold start.
Changing the buffer pool LOCATION value to ABOVE the bar provides the following advantages:
- It relieves the 31-bit virtual storage constraints, providing more space for common storage areas.
- During a high workload, adding buffers to a buffer pool above the bar is easier and safer than moving a pool to above the bar after it’s already in use.