+

Search Tips | Advanced Search

Manage buffer pools

Use this topic if we want to change or delete your buffer pools.

This topic describes how to alter and delete buffer pools. It contains these sections:

Buffer pools are defined during queue manager initialization, using DEFINE BUFFPOOL commands issued from the initialization input data set CSQINP1. Their attributes can be altered in response to business requirements while the queue manager is running, using the processes detailed in this topic. The queue manager records the current buffer pool attributes in checkpoint log records. These are automatically restored on subsequent queue manager restart, unless the buffer pool definition in CSQINP1 includes the REPLACE attribute.

Use the DISPLAY USAGE command to display the current buffer attributes.

We can also define buffer pools dynamically using the DEFINE PSID command with the DSN option.

If we change buffer pools dynamically, we should also update their definitions in the initialization data set CSQINP1.

See Plan on z/OS for a description of page sets, storage classes, buffers, and buffer pools, and some of the performance considerations that apply.

Note: Buffer pools use significant storage. When you increase the size of a buffer pool or define a new buffer pool ensure that sufficient storage is available. For more information, see Address space storage.


How to change the number of buffers in a buffer pool

If a buffer pool is too small, the condition can result in message CSQP020E on the console, we can allocate more buffers to it using the ALTER BUFFPOOL command as follows:
  1. Determine how much space is available for new buffers by looking at the CSQY220I messages in the log. The available space is reported in MB. As a buffer has a size of 4 KB, each MB of available space allows you to allocate 256 buffers. Do not allocate all the free space to buffers, as some is required for other tasks.

    If the buffer pool uses fixed 4 KB pages, that is, its PAGECLAS attribute is FIXED4KB, ensure that there is sufficient real storage available on the LPAR.

  2. If the reported free space is inadequate, release some buffers from another buffer pool using the command
    ALTER BUFFPOOL(buf-pool-id) BUFFERS(integer)
    
    where buf-pool-id is the buffer pool from which we want to reclaim space and integer is the new number of buffers to be allocated to this buffer pool, which must be smaller than the original number of buffers allocated to it.
  3. Add buffers to the buffer pool we want to expand using the command
    ALTER BUFFPOOL(buf-pool-id) BUFFERS(integer)
    
    where buf-pool-id is the buffer pool to be expanded and integer is the new number of buffers to be allocated to this buffer pool, which must be larger than the original number of buffers allocated to it.


How to delete a buffer pool

When a buffer pool is no longer used by any page sets, delete it to release the virtual storage allocated to it.

You delete a buffer pool using the DELETE BUFFPOOL command. The command fails if any page sets are using this buffer pool.

See How to delete page sets for information about how to delete page sets.

Parent topic: Manage IBM MQ resources on z/OS

Last updated: 2020-10-04