Its a bit hard to know for certain from the information available but
the default behaviour of ActiveMQ is to use a prefetch buffer of
messages on the client for performance; so there will be lots of
messages kept around in RAM for each consumer by default...

http://incubator.apache.org/activemq/what-is-the-prefetch-limit-for.html

If you can get your application to a steady state and the amount of
RAM used reaches a consistent level then I'd say there's no leak.


On 7/22/06, Saurabh Chandra <[EMAIL PROTECTED]> wrote:
Sorry, forgot that attachments won't work on the mailing list. I have
uploaded the screenshots here:
http://picasaweb.google.com/chandrasaurabh/MemScreenshots

regards
Saurabh

On 7/22/06, Saurabh Chandra <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I was facing some memory issues with our activeMQ app. The memory
> usage increased and byte [] instances are not getting released. I did
> some investigation using jrockit memleak and am attaching screenshots
> of memory increase (hourly), instance counts and ref graph. The ref
> graph points to ActiveMQTextMessage and then to a linked list which is
> self referring. I don't have any linked lists in the code that has
> been written but there is a static string - could that be a culprit?
>
> As can be seen in the graph the memory did become stable finally.
> Could it be "normal" behavior that we should not be alarmed about?
>
> The code being invoked is pretty simple right now -
>
> //Consumer code
> public void onMessage(Message msg) {
>                 logger.debug("######Recieved:"+msg.toString());
>                 try {
>                         FeedValue.setFeed(((TextMessage)msg).getText());
>                         logger.debug("Recieved and FeedValue set ");
>                 } catch (JMSException e) {
>                         // e.printStackTrace();
>                         logger.error("There was a JMSException: 
",e.fillInStackTrace());
>                 }
> }
>
> //FeedValue Class
> public class FeedValue {
>
>         private static String feed = "";
>
>         public static String getFeed() {
>                 return feed;
>         }
>
>         public static void setFeed(String feed) {
>                 FeedValue.feed = feed;
>         }
>
> }
>
> Using activeMQ 4.0 and JDK 1.5. ActiveMQ is configured as an embedded
> broker on Tomcat 5.5 using spring to configure it.
>
> regards
> Saurabh
>
>
>



--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to