activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: Memory limit errors
Date Wed, 02 Jan 2013 19:06:51 GMT
Correct. The memoryUsage is increased when messages are held in memory.
This happens when messages are paged in from the store. They are then
dispatched to consumers and held until the consumer acks.

In your case looks like a particular destination (eventsEndpoint) is
filling up somehow. Can you look in JMX and see how many enqueued,
dispatched, dequeued, inflight etc? Also check to see how many
subscriptions to that destination, and see what those dispatch-counter and
dispatch queue size looks like.

BTW any chance you're sending (producers) using a transaction, or forcing
sends to be async?



On Wed, Jan 2, 2013 at 11:51 AM, Mohit Anchlia <mohitanchlia@gmail.com>wrote:

> So if I understand correctly I shouldn't be seeing this behaviour unless
> something is being held in memory. We ack immediately so I am kind of
> wondering what might be going on here. Is there a way to find out what
> might be happening here?
>
> On Wed, Jan 2, 2013 at 10:03 AM, Christian Posta
> <christian.posta@gmail.com>wrote:
>
> > What info can you provide about how clients are consuming from the
> queues?
> > Any chance there are a bunch of messages "inflight" which haven't been
> > ack'd by the consumer?
> >
> >
> > On Wed, Jan 2, 2013 at 10:20 AM, Mohit Anchlia <mohitanchlia@gmail.com
> > >wrote:
> >
> > > I see these messages being logged. Queues are setup to use persistent
> > > store. I am wondering what's causing this messages to get blocked. I
> see
> > > there is a memoryLimit but if I am using persistent=true then should
> this
> > > be the desired behaviour?
> > >
> > >
> > > 2013-01-02 05:06:13,388 | INFO |
> > > Usage(default:memory:queue://eventsEndpoint:memory) percentUsage=0%,
> > > usage=0, limit=20971520,
> > > percentUsageMinDelta=1%;Parent:Usage(default:memory) percentUsage=106%,
> > > usage=22366029, limit=20971520, percentUsageMinDelta=1%: Usage Manager
> > > Memory Limit reached. Producer
> > > (ID:pfdamq301.ie.net-54582-1351809386355-2:1:1:1) stopped to prevent
> > > flooding queue://eventsEndpoint. See
> > >
> > >
> > >    <broker xmlns="http://activemq.apache.org/schema/core"
> > > brokerName="static-broker1" persistent="true"
> > > dataDirectory="${activemq.data}">
> > >
> > >         <!-- Destination specific policies using destination names or
> > > wildcards -->
> > >         <destinationPolicy>
> > >             <policyMap>
> > >                 <policyEntries>
> > >                     <policyEntry queue=">" producerFlowControl="true"
> > > memoryLimit="20mb">
> > >                         <deadLetterStrategy>
> > >                           <individualDeadLetterStrategy
> > queuePrefix="DLQ."
> > > useQueueForQueueMessages="true" />
> > >                         </deadLetterStrategy>
> > >                     </policyEntry>
> > >                     <policyEntry topic=">" producerFlowControl="true"
> > > memoryLimit="20mb">
> > >                     </policyEntry>
> > >                 </policyEntries>
> > >             </policyMap>
> > >         </destinationPolicy>
> > >
> > >         <!-- Use the following to configure how ActiveMQ is exposed in
> > JMX
> > > -->
> > >         <managementContext>
> > >             <managementContext createConnector="true"/>
> > >         </managementContext>
> > >
> >
> >
> >
> > --
> > *Christian Posta*
> > http://www.christianposta.com/blog
> > twitter: @christianposta
> >
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message