After a bit looking into the code, I wonder if I understood the concept right, 
that there is a referencecounter that is raised for each consumer and then 
decresed by one when a consumer gets a message. The memory if freed if the 
referencecounter reaches 0.
So now after reading the counter out and send it to the console, I noticed that 
it normally doesn't get set back to 0, when there is more then one consumer.

The method decreaseUsage is never called in the case of more then one consumer 
and only increased.

Is this a correct obversion and is this the core of the memory problem I 
encounter?

-----Ursprüngliche Nachricht-----
Von: Gerdes, Mike
Gesendet: Freitag, 2. Juni 2006 09:59
An: [email protected]
Betreff: still strange memory problems




Hi,

I still have memory problems with AMQ. These problems mostly only happen, when 
I have more then one consumer listening to a queue and more then one producer 
sending messages at a high rate to the broker. These messages start at a size 
of 256 byte and are send for 30sec, then they double their size, this is 
reapeated some time. The producers read the messages all the time till they 
recieve no messages for 30sec.
I have tried this in a few configuration and always hit this problem. First 
everything locally on one pc with 512mb ram and a celeron 2GHz, then with two 
pcs of the same configuration and divided the senders and producers in any 
configuration on them, then two brokers locally. I use AMQ 10.05.2006 and have 
also tried AMQ RC2.

Everytime I observed that the memoryusage raises all the time and it doesn't 
get freed when all the consumers and producers are shutdown. Also it happens 
that the memoryusage hits 100 and normally then the system stops to work, I get 
no error message or drop, the producers just seem to block. The consumers then 
exit after 30seconds. This happens when the message size is about 256kb, 
sometimes lower sometimes higher. With topics this problem doesn't occure.

What I have tried to solve this problem is, that I have set the memory manager 
to use 100mb, used mysql persistence adapter, user journaled adapter with 1gb 
available, used no persistence adapter, persistence adapters with useasync=true.
Nothing solved this problem.

So now my question, is this a bug or is my machine for the case to weak? Am I 
the only one who gets this kind of problem or are there others and have you 
found solutions?

mike

This mail has originated outside your organization, either from an external 
partner or the Global Internet. Keep this in mind if you answer this message.



This mail has originated outside your organization,
either from an external partner or the Global Internet.
Keep this in mind if you answer this message.

This mail has originated outside your organization, either from an external 
partner or the Global Internet. Keep this in mind if you answer this message.

Reply via email to