3 Replies Latest reply on Apr 3, 2008 2:21 PM by peterj

    HANamingService Out of Memory

    rockies

      Hi,

      I'm experiencing the errors below. Its an environment with 2 app servers. each app server is set as a separate cluster. The JVM is less than 1GB

      Is there some internal limit that i need to change

      Thanks
      Dave

      2008-04-03 10:38:15,259 ERROR [org.jboss.ha.jndi.HANamingService] Unexpected exception during accept
      org.jboss.util.threadpool.ThreadPoolFullException: java.lang.OutOfMemoryError: unable to create new native thread
      at org.jboss.util.threadpool.BasicThreadPool.execute(BasicThreadPool.java:384)
      at org.jboss.util.threadpool.BasicThreadPool.runTaskWrapper(BasicThreadPool.java:165)
      at org.jboss.util.threadpool.BasicThreadPool.run(BasicThreadPool.java:184)
      at org.jboss.util.threadpool.BasicThreadPool.run(BasicThreadPool.java:179)
      at org.jboss.ha.jndi.DetachedHANamingService$AcceptHandler.run(DetachedHANamingService.java:642)
      at org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:134)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
      at java.lang.Thread.run(Thread.java:595)

        • 1. Re: HANamingService Out of Memory
          peterj

          An "unable to create new native thread" error usually indicates that the operating system ran out of memory (in other words, this is not a the-JVM-heap-is-full message). How much RAM do you have? How much swap space? Is it a 32-bit or 64-bit OS? If 32-bit OS, are you running with an option to allocate 3GB of user memory? What is the memory usage on the system (how much free memory)?

          • 2. Re: HANamingService Out of Memory
            rockies

            32 bit OS, with 4GB. The 3GB option is on. There is ~3GB free memory, JavaService is only at 1GB. Could it be that the 3GB option is causing the problem.

            Have also seen this error message

            2008-04-03 14:55:27,508 ERROR [org.jboss.util.threadpool.BasicThreadPool] org.jboss.util.threadpool.ThreadPoolFullException: java.lang.OutOfMemoryError: unable to create new native thread
            org.jboss.util.threadpool.ThreadPoolFullException: java.lang.OutOfMemoryError: unable to create new native thread
            at org.jboss.util.threadpool.BasicThreadPool.execute(BasicThreadPool.java:384)
            at org.jboss.util.threadpool.BasicThreadPool.runTaskWrapper(BasicThreadPool.java:165)
            at org.jboss.util.threadpool.BasicThreadPool.run(BasicThreadPool.java:184)
            at org.jboss.util.threadpool.BasicThreadPool.run(BasicThreadPool.java:179)
            at org.jboss.util.timeout.TimeoutFactory.doWork(TimeoutFactory.java:531)
            at org.jboss.util.timeout.TimeoutFactory.access$300(TimeoutFactory.java:30)
            at org.jboss.util.timeout.TimeoutFactory$1.run(TimeoutFactory.java:566)

            • 3. Re: HANamingService Out of Memory
              peterj

              The 3GB option is the problem. That option allocates 3GB to apps and only 1GB to the OS. Any memory allocated by the OS (such as the memory necessary for the OS to manage a thread), comes out of that 1GB. We have found that when we use the 3GB option that it severely restricts the amount of OS resources, such as threads, that we can make use of. Unless you have some really good reasons for using the 3GB option, you should turn it off.