You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by SuoNayi <su...@163.com> on 2013/01/25 09:20:18 UTC

SystemUsage questions

Hi, I know that SystemUsage is used to control memory usage(to cache messages) , 
disk space usage for messages storage in the broker and we can allocate memory 
usage for each destination while others can not be assigned independently.
I just noticed that there is no SystemUsage section present but the memory 
usage limit is enabled for queues in activemq.xml on my production brokers.
In this case broker will create a default SystemUsage with 64M memory usage 
limit.But the memory usage limit for queues is 512M, and that's bigger than the 
memory usage limit of the broker.So in fact the memory usage limit for queues 
is only 64M rather than 512M and I do expect there are some warning/error logs 
to indicate unreasonable configuration but not.If there are no jiras about the 
problem should I raise one now?


By the way,Does the temp store for non-persistent messages, pending transactional 
messages and schedule messages respect the limit of SystemUsage?
I know that pending transactional  messages are kept in memory can cause OOM and 
later release will save them into the temp store.Is it implemented since 5.6?


Thanks,
SuoNayi












Re: Re: SystemUsage questions

Posted by Gary Tully <ga...@gmail.com>.
that is correct. but that is why we have the usage limits. a really large
transaction will block pending space. We could support spooling to disk in
that scenario but folks have not requested it.


On 26 January 2013 04:14, SuoNayi <su...@163.com> wrote:

> Thank for your clarification.
> I have just took a glance at the source code for 5.8, and found that the
> default
> memory usage limit is 64M still, another limits are improved and an new
> scheduler
> job store limit is  introduced.Some checks are performed but memory limit
> for
> destinations are not checked.
> I found MemoryTransactionStore is still to used to hold penging messages of
> transactions, more large transaction more messages are kept in RAM still
> and
> eventually memory will be exhausted.
> Does I miss something?
>
>
> Thanks
> SuoNayi
>
> At 2013-01-25 20:07:46,"Christian Posta" <ch...@gmail.com>
> wrote:
> >Sorry, i mean to say "scheduled messagaes do use their own store, not temp
> >store"
> >
> >
> >On Fri, Jan 25, 2013 at 4:58 AM, Christian Posta
> ><ch...@gmail.com>wrote:
> >
> >> To add:
> >>
> >> scheduled messages don't use their own store. they are currently
> >> unbounded, but this has been resolved here:
> >> https://issues.apache.org/jira/browse/AMQ-4068
> >>
> >>
> >> On Fri, Jan 25, 2013 at 4:24 AM, Gary Tully <ga...@gmail.com>
> wrote:
> >>
> >>> the defaults increased for 5.7 and there are additional warnings but i
> >>> think there is still some room for improvement. maybe peek at a 5.8
> snap.
> >>>
> >>> also, pending messages in a transaction do now respect the limits.
> >>>
> >>>
> >>> On 25 January 2013 08:20, SuoNayi <su...@163.com> wrote:
> >>>
> >>> > Hi, I know that SystemUsage is used to control memory usage(to cache
> >>> > messages) ,
> >>> > disk space usage for messages storage in the broker and we can
> allocate
> >>> > memory
> >>> > usage for each destination while others can not be assigned
> >>> independently.
> >>> > I just noticed that there is no SystemUsage section present but the
> >>> memory
> >>> > usage limit is enabled for queues in activemq.xml on my production
> >>> brokers.
> >>> > In this case broker will create a default SystemUsage with 64M memory
> >>> usage
> >>> > limit.But the memory usage limit for queues is 512M, and that's
> bigger
> >>> > than the
> >>> > memory usage limit of the broker.So in fact the memory usage limit
> for
> >>> > queues
> >>> > is only 64M rather than 512M and I do expect there are some
> >>> warning/error
> >>> > logs
> >>> > to indicate unreasonable configuration but not.If there are no jiras
> >>> about
> >>> > the
> >>> > problem should I raise one now?
> >>> >
> >>> >
> >>> > By the way,Does the temp store for non-persistent messages, pending
> >>> > transactional
> >>> > messages and schedule messages respect the limit of SystemUsage?
> >>> > I know that pending transactional  messages are kept in memory can
> cause
> >>> > OOM and
> >>> > later release will save them into the temp store.Is it implemented
> since
> >>> > 5.6?
> >>> >
> >>> >
> >>> > Thanks,
> >>> > SuoNayi
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>>
> >>>
> >>> --
> >>> http://redhat.com
> >>> http://blog.garytully.com
> >>>
> >>
> >>
> >>
> >> --
> >> *Christian Posta*
> >> http://www.christianposta.com/blog
> >> twitter: @christianposta
> >>
> >
> >
> >
> >--
> >*Christian Posta*
> >http://www.christianposta.com/blog
> >twitter: @christianposta
>



-- 
http://redhat.com
http://blog.garytully.com

Re:Re: SystemUsage questions

Posted by SuoNayi <su...@163.com>.
Thank for your clarification.
I have just took a glance at the source code for 5.8, and found that the default 
memory usage limit is 64M still, another limits are improved and an new scheduler
job store limit is  introduced.Some checks are performed but memory limit for 
destinations are not checked.
I found MemoryTransactionStore is still to used to hold penging messages of
transactions, more large transaction more messages are kept in RAM still and 
eventually memory will be exhausted.
Does I miss something?


Thanks
SuoNayi

At 2013-01-25 20:07:46,"Christian Posta" <ch...@gmail.com> wrote:
>Sorry, i mean to say "scheduled messagaes do use their own store, not temp
>store"
>
>
>On Fri, Jan 25, 2013 at 4:58 AM, Christian Posta
><ch...@gmail.com>wrote:
>
>> To add:
>>
>> scheduled messages don't use their own store. they are currently
>> unbounded, but this has been resolved here:
>> https://issues.apache.org/jira/browse/AMQ-4068
>>
>>
>> On Fri, Jan 25, 2013 at 4:24 AM, Gary Tully <ga...@gmail.com> wrote:
>>
>>> the defaults increased for 5.7 and there are additional warnings but i
>>> think there is still some room for improvement. maybe peek at a 5.8 snap.
>>>
>>> also, pending messages in a transaction do now respect the limits.
>>>
>>>
>>> On 25 January 2013 08:20, SuoNayi <su...@163.com> wrote:
>>>
>>> > Hi, I know that SystemUsage is used to control memory usage(to cache
>>> > messages) ,
>>> > disk space usage for messages storage in the broker and we can allocate
>>> > memory
>>> > usage for each destination while others can not be assigned
>>> independently.
>>> > I just noticed that there is no SystemUsage section present but the
>>> memory
>>> > usage limit is enabled for queues in activemq.xml on my production
>>> brokers.
>>> > In this case broker will create a default SystemUsage with 64M memory
>>> usage
>>> > limit.But the memory usage limit for queues is 512M, and that's bigger
>>> > than the
>>> > memory usage limit of the broker.So in fact the memory usage limit for
>>> > queues
>>> > is only 64M rather than 512M and I do expect there are some
>>> warning/error
>>> > logs
>>> > to indicate unreasonable configuration but not.If there are no jiras
>>> about
>>> > the
>>> > problem should I raise one now?
>>> >
>>> >
>>> > By the way,Does the temp store for non-persistent messages, pending
>>> > transactional
>>> > messages and schedule messages respect the limit of SystemUsage?
>>> > I know that pending transactional  messages are kept in memory can cause
>>> > OOM and
>>> > later release will save them into the temp store.Is it implemented since
>>> > 5.6?
>>> >
>>> >
>>> > Thanks,
>>> > SuoNayi
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>>
>>>
>>> --
>>> http://redhat.com
>>> http://blog.garytully.com
>>>
>>
>>
>>
>> --
>> *Christian Posta*
>> http://www.christianposta.com/blog
>> twitter: @christianposta
>>
>
>
>
>-- 
>*Christian Posta*
>http://www.christianposta.com/blog
>twitter: @christianposta

Re: SystemUsage questions

Posted by Christian Posta <ch...@gmail.com>.
Sorry, i mean to say "scheduled messagaes do use their own store, not temp
store"


On Fri, Jan 25, 2013 at 4:58 AM, Christian Posta
<ch...@gmail.com>wrote:

> To add:
>
> scheduled messages don't use their own store. they are currently
> unbounded, but this has been resolved here:
> https://issues.apache.org/jira/browse/AMQ-4068
>
>
> On Fri, Jan 25, 2013 at 4:24 AM, Gary Tully <ga...@gmail.com> wrote:
>
>> the defaults increased for 5.7 and there are additional warnings but i
>> think there is still some room for improvement. maybe peek at a 5.8 snap.
>>
>> also, pending messages in a transaction do now respect the limits.
>>
>>
>> On 25 January 2013 08:20, SuoNayi <su...@163.com> wrote:
>>
>> > Hi, I know that SystemUsage is used to control memory usage(to cache
>> > messages) ,
>> > disk space usage for messages storage in the broker and we can allocate
>> > memory
>> > usage for each destination while others can not be assigned
>> independently.
>> > I just noticed that there is no SystemUsage section present but the
>> memory
>> > usage limit is enabled for queues in activemq.xml on my production
>> brokers.
>> > In this case broker will create a default SystemUsage with 64M memory
>> usage
>> > limit.But the memory usage limit for queues is 512M, and that's bigger
>> > than the
>> > memory usage limit of the broker.So in fact the memory usage limit for
>> > queues
>> > is only 64M rather than 512M and I do expect there are some
>> warning/error
>> > logs
>> > to indicate unreasonable configuration but not.If there are no jiras
>> about
>> > the
>> > problem should I raise one now?
>> >
>> >
>> > By the way,Does the temp store for non-persistent messages, pending
>> > transactional
>> > messages and schedule messages respect the limit of SystemUsage?
>> > I know that pending transactional  messages are kept in memory can cause
>> > OOM and
>> > later release will save them into the temp store.Is it implemented since
>> > 5.6?
>> >
>> >
>> > Thanks,
>> > SuoNayi
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>>
>>
>> --
>> http://redhat.com
>> http://blog.garytully.com
>>
>
>
>
> --
> *Christian Posta*
> http://www.christianposta.com/blog
> twitter: @christianposta
>



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

Re: SystemUsage questions

Posted by Christian Posta <ch...@gmail.com>.
To add:

scheduled messages don't use their own store. they are currently unbounded,
but this has been resolved here:
https://issues.apache.org/jira/browse/AMQ-4068


On Fri, Jan 25, 2013 at 4:24 AM, Gary Tully <ga...@gmail.com> wrote:

> the defaults increased for 5.7 and there are additional warnings but i
> think there is still some room for improvement. maybe peek at a 5.8 snap.
>
> also, pending messages in a transaction do now respect the limits.
>
>
> On 25 January 2013 08:20, SuoNayi <su...@163.com> wrote:
>
> > Hi, I know that SystemUsage is used to control memory usage(to cache
> > messages) ,
> > disk space usage for messages storage in the broker and we can allocate
> > memory
> > usage for each destination while others can not be assigned
> independently.
> > I just noticed that there is no SystemUsage section present but the
> memory
> > usage limit is enabled for queues in activemq.xml on my production
> brokers.
> > In this case broker will create a default SystemUsage with 64M memory
> usage
> > limit.But the memory usage limit for queues is 512M, and that's bigger
> > than the
> > memory usage limit of the broker.So in fact the memory usage limit for
> > queues
> > is only 64M rather than 512M and I do expect there are some warning/error
> > logs
> > to indicate unreasonable configuration but not.If there are no jiras
> about
> > the
> > problem should I raise one now?
> >
> >
> > By the way,Does the temp store for non-persistent messages, pending
> > transactional
> > messages and schedule messages respect the limit of SystemUsage?
> > I know that pending transactional  messages are kept in memory can cause
> > OOM and
> > later release will save them into the temp store.Is it implemented since
> > 5.6?
> >
> >
> > Thanks,
> > SuoNayi
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> http://redhat.com
> http://blog.garytully.com
>



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

Re: SystemUsage questions

Posted by Gary Tully <ga...@gmail.com>.
the defaults increased for 5.7 and there are additional warnings but i
think there is still some room for improvement. maybe peek at a 5.8 snap.

also, pending messages in a transaction do now respect the limits.


On 25 January 2013 08:20, SuoNayi <su...@163.com> wrote:

> Hi, I know that SystemUsage is used to control memory usage(to cache
> messages) ,
> disk space usage for messages storage in the broker and we can allocate
> memory
> usage for each destination while others can not be assigned independently.
> I just noticed that there is no SystemUsage section present but the memory
> usage limit is enabled for queues in activemq.xml on my production brokers.
> In this case broker will create a default SystemUsage with 64M memory usage
> limit.But the memory usage limit for queues is 512M, and that's bigger
> than the
> memory usage limit of the broker.So in fact the memory usage limit for
> queues
> is only 64M rather than 512M and I do expect there are some warning/error
> logs
> to indicate unreasonable configuration but not.If there are no jiras about
> the
> problem should I raise one now?
>
>
> By the way,Does the temp store for non-persistent messages, pending
> transactional
> messages and schedule messages respect the limit of SystemUsage?
> I know that pending transactional  messages are kept in memory can cause
> OOM and
> later release will save them into the temp store.Is it implemented since
> 5.6?
>
>
> Thanks,
> SuoNayi
>
>
>
>
>
>
>
>
>
>
>
>


-- 
http://redhat.com
http://blog.garytully.com