2 Replies Latest reply on Mar 19, 2003 10:58 AM by nbirch

    JBossMQ memory growth

    nbirch

      I have been running a test where a publisher sends a total of 100,000 messages at a rate of 10 messages/sec to a topic subscribed to by a non-durable subscription. I'm using JBoss 3.0.2 started with -Xmx256m.

      When running this test, memory usage grows and then JBoss stops with an OutOfMemory exception. My settings for HighMemoryMark and MaxMemoryMark in jbossmq-service.xml were 500 and 600. With these settings the CacheStore DataDirector (/tmp/jbossmq) is empty.

      So I set HighMemoryMark and MaxMemoryMark to 140 and 180 as suggested in a previous posting to this group. After this, JBoss did not run out of memory. It's memory usage did rise, but it flattened out at about 184MB, coresponding to the MaxMemoryMark. But did not go down at all after all 100000 messages were sent. The /tmp/jbossmq directory contained MANY message files, and they did not get removed until I restarted Jboss.

      I noticed another posting saying that there was a memory leak in JBossmq that was fixed in 3.0.4. So I am now testing with the jbossmq.jar file from 3.0.6.

      Questions:
      - Is JBossmq 'solid' in 3.0.6?
      - Is it safe to just use the 3.0.6 jbossmq.jar in my 3.0.2 JBoss?
      - How do I determine the best settings for HighMemoryMark and MaxMemoryMark?

      Thanks.

        • 1. Re: JBossMQ memory growth

          There were a few memory leak problems with
          jbossmq prior to 3.0.4, most notably using selectors.

          From 3.0.7 there will be an improved message cache
          implementation that copes better with large throughputs.

          Regards,
          Adrian

          • 2. Re: JBossMQ memory growth
            nbirch

            Will JBoss 3.0.7 be built to run on the IBM JVM?

            Right now 3.0.5 and 3.0.6 do not run on IBM's JVM. There have been a lot of complaints about this recently, since the solution (so I've read) is to build the JBoss source yourself using the Sun JDK 1.3. Then JBoss will run on the IBM JVM.

            Thanks,
            NBirch