After adding a bunch of messages to queues on a broker with default options, then dequeuing them all, the resident memory (RSS) of the broker does not decrease. This is expected if the OS does not request the memory to be returned, but if you starve the system of memory, the OS should request this memory, but it still doesn't decrease. Somehow the broker is holding onto all of the memory used for previously allocated messages, and the OS is unable to ever retrieve the freed memory.
- Create broker, direct exchange, and a queue with a binding, all with default options (or set a max size for the queue)
- From a client send a bunch of large messages to the queue, enough to use up most of your memory (note the RSS of the broker)
- From a client dequeue all of the messages from the queue (note the RSS of the broker has not decreased)
- Start some other application that would use more memory than is available, which should force the OS to request freed memory from the Qpid broker (note the RSS of the broker still has not decreased)