2.9. Optimizing Memory Usage in the Broker

Optimize message paging

By setting the page size attributes on the policyEntry element, you can tune the message paging to match the amount of memory available in the broker. For example, if there is very large queue and lots of destination memory, increasing the maxBrowsePage attribute would allow more of those messages to be visible when browsing a queue.

Destination policies to control paging

The following destination policies control message paging (the number of messages that are pulled into memory from the message store, each time the memory is emptied):
maxPageSize
The maximum number of messages paged into memory for sending to a destination.
maxBrowsePageSize
The maximum number of messages paged into memory for browsing a queue .
Note
The number of messages paged in for browsing cannot exceed the destination's memoryLimit setting.
maxExpirePageSize
The maximum number of messages paged into memory to check for expired messages.

Automatic adjustment of store usage limit

If the broker is started and the amount of available space is less than the storeUsage limit, the runtime store usage limit is reset automatically and the broker starts. If the available disk space is very small, however, this can lead to a broker starting that cannot process messages. To avoid this happening, you can set the adjustUsageLimits attribute to false on the broker element, which ensures that the broker does not start if the available disk space is less than the storeUsage limit.
For example, you can set the adjustUsageLimits attribute as follows:
<broker adjustUsageLimits="false" ...> ... </broker>