activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Heitmann <jheitm...@gmail.com>
Subject Re: blocking on UsageManager.waitForSpace
Date Tue, 26 Dec 2006 22:15:20 GMT
The MemoryUsagePercentage stat is a little tricky. The numerator is  
the amount of memory messages take up (and only messages), the  
denominator is the fixed memory limit value set in your config.  
Neither are directly related to heap size. The threshold and space  
values used in waitForSpace() are the two values reported in  
MemoryPercentageUsed, not the heap value, so it should be near 100%  
when you block.

Could it be that the message that it's blocking on is very large?  
What happens if you try a queue instead of a topic (not as a  
workaround, just to debug)? Could you be looking at usage manger info  
for a specific topic, when other topics are also active and filling  
up space?

John

On Dec 21, 2006, at 7:30 AM, stevec wrote:

>
> What stats should I be looking at?  (from Broker info:)
> MemoryUsagePercentage is never at 100%.  Again, if my MemoryLimit  
> is 20MB,
> MemoryUsagePercentage=50% (about 10MB used).  If my MemoryLimit is  
> 100MB,
> MemoryUsagePercentage=10% (about 10MB used).
>
> Non persistence, Non Durable.  I know slow consumers can cause  
> problems, but
> doesnt UsageManager.waitForSpace mean we have a memory issue?  If  
> it is a
> memory issue, what other stats should I be looking at for memory
> consumption?
>
>
> James.Strachan wrote:
>>
>> It does sound like its full. What are the stats from jconsole?
>>
>> BTW when things are blocked you've typically got a slow consumer.
>>
>> On 12/21/06, stevec <basistrdr@hotmail.com> wrote:
>>>
>>> ActiveMQ is blocking on UsageManager.waitForSpace.  Originally I  
>>> had set
>>> the
>>> Broker MemoryLimit to 20MB and I noticed in jconsole when it  
>>> failed, that
>>> the memorypercentageused was almost 50%.  I then decided to  
>>> increase that
>>> number to 100MB.  ActiveMQ blocked again (failing), i  
>>> investigated the
>>> new
>>> memorypercentageused and it was at 10%.  So it seems that the
>>> UsageManager
>>> is failing at about 10MB?
>>>
>>> What would cause the UsageManager to block when the memorylimit  
>>> is at
>>> 100MB
>>> and the memorypercentageused is only 10%?  See callstack:
>>>
>>> Name: Thread-1
>>> State: WAITING on java.lang.Object@7dc1961
>>> Total blocked: 211,303  Total waited: 370,008
>>>
>>> Stack trace:
>>> java.lang.Object.wait(Native Method)
>>> java.lang.Object.wait(Object.java:485)
>>> org.apache.activemq.memory.UsageManager.waitForSpace 
>>> (UsageManager.java:91)
>>> org.apache.activemq.broker.region.Topic.send(Topic.java:239)
>>> org.apache.activemq.broker.region.AbstractRegion.send 
>>> (AbstractRegion.java:292)
>>> org.apache.activemq.broker.region.RegionBroker.send 
>>> (RegionBroker.java:380)
>>> org.apache.activemq.broker.TransactionBroker.send 
>>> (TransactionBroker.java:193)
>>> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
>>> org.apache.activemq.broker.CompositeDestinationBroker.send 
>>> (CompositeDestinationBroker.java:98)
>>> org.apache.activemq.broker.MutableBrokerFilter.send 
>>> (MutableBrokerFilter.java:136)
>>> org.apache.activemq.broker.AbstractConnection.processMessage 
>>> (AbstractConnection.java:434)
>>> org.apache.activemq.command.ActiveMQMessage.visit 
>>> (ActiveMQMessage.java:604)
>>> org.apache.activemq.broker.AbstractConnection.service 
>>> (AbstractConnection.java:238)
>>> org.apache.activemq.broker.TransportConnection$1.onCommand 
>>> (TransportConnection.java:63)
>>> org.apache.activemq.transport.ResponseCorrelator.onCommand 
>>> (ResponseCorrelator.java:95)
>>> org.apache.activemq.transport.TransportFilter.onCommand 
>>> (TransportFilter.java:65)
>>> org.apache.activemq.transport.vm.VMTransport.syncOneWay 
>>> (VMTransport.java:96)
>>> org.apache.activemq.transport.vm.VMTransport.oneway 
>>> (VMTransport.java:83)
>>> org.apache.activemq.transport.MutexTransport.oneway 
>>> (MutexTransport.java:43)
>>>    - locked java.lang.Object@17e243f7
>>> org.apache.activemq.transport.ResponseCorrelator.oneway 
>>> (ResponseCorrelator.java:60)
>>> org.apache.activemq.ActiveMQConnection.asyncSendPacket 
>>> (ActiveMQConnection.java:1126)
>>> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1546)
>>> org.apache.activemq.ActiveMQMessageProducer.send 
>>> (ActiveMQMessageProducer.java:465)
>>> org.apache.activemq.ActiveMQMessageProducer.send 
>>> (ActiveMQMessageProducer.java:415)
>>> org.apache.activemq.ActiveMQTopicPublisher.publish 
>>> (ActiveMQTopicPublisher.java:177)
>>> ..... my app is trying to publish to a topic ..........
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/blocking-on-UsageManager.waitForSpace- 
>>> tf2865932.html#a8009086
>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>> -- 
>>
>> James
>> -------
>> http://radio.weblogs.com/0112098/
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/blocking-on- 
> UsageManager.waitForSpace-tf2865932.html#a8009707
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Mime
View raw message