2 Replies Latest reply on Dec 19, 2013 12:05 PM by lewisifer

    Setting Queue Size to fix OOM errors

    lewisifer

      Hello,

       

      I'm running an app using Torquebox, which in turn is running Jboss 7.2.x. One of the problems I'm having is that my app runs out of memory every 24 hours and crashes. One thing I've noticed is that the principle reason behind memory consumption is that JBoss is processing too many messages at once, and doesn't have time to clear out the files that are associated with each message, and then runs out of memory, and eventually causes the disk to be full of undeleted files as well.

       

      My question is: How do I set the queue size to limit the number of requests that are produced and consumed (I'd like these ideally to be the same, albeit a lower value than they are right now)

      I've been looking at : Messaging configuration - JBoss AS 7.2 - Project Documentation Editor   but I'm lost as to how to go about this as it's not clear to me how to configure with the information given on that page. For instance, it's not clear to me what "pooled-connection-factory" vs "in-vm" represents in terms of which has priority, and which one of these would need the max/min values set in order for Jboss to limit the number of messages. Any help would be greatly appreciated.

       

      EDIT: Configuration is standalone.xml , stock. Nothing has been changed.

        • 1. Re: Setting Queue Size to fix OOM errors
          rhusar

          Can you obtain a memory dump and see what is leaking?

           

          -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/tmp"

           

          Otherwise any discussion we could have is just guessing thus useless.

          • 2. Re: Setting Queue Size to fix OOM errors
            lewisifer

            Hi Radoslav,

             

            Yes, I'm currently doing that but that is not a trivial undertaking and would take some time. In the meantime, I still wanted to know how to set the queue size so that only a certain amount of messages at a time can be consumed. Is there an easy way to achieve this?