You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Laures <ba...@googlemail.com> on 2011/03/24 13:08:30 UTC

OutOfMemoryError: unable to create new native thread

Hi,

I'm currently load testing the native REST Api of activemq on our hardware.
I'm using pylot to generate several users.

Some time into the test i start to get:

 WARN | Error for /rest/message/FOO/BAR
java.lang.OutOfMemoryError: unable to create new native thread
        at java.lang.Thread.start0(Native Method)
        at java.lang.Thread.start(Thread.java:640)
        at
org.apache.activemq.thread.TaskRunnerFactory.execute(TaskRunnerFactory.java:92)
        at
org.apache.activemq.thread.TaskRunnerFactory.execute(TaskRunnerFactory.java:85)
        at
org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:211)
        at
org.apache.activemq.transport.vm.VMTransportServer.connect(VMTransportServer.java:91)
        at
org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:145)
        at
org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:53)
        at
org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
        at
org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
        at
org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:243)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:258)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
        at
org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)
        at
org.apache.activemq.web.WebClient.getConnection(WebClient.java:246)
        at
org.apache.activemq.web.WebClient.createSession(WebClient.java:348)
        at org.apache.activemq.web.WebClient.getSession(WebClient.java:239)
        at
org.apache.activemq.web.MessageServletSupport.getDestination(MessageServletSupport.java:319)
        at
org.apache.activemq.web.MessageServletSupport.getDestination(MessageServletSupport.java:267)
        at
org.apache.activemq.web.MessageServlet.doPost(MessageServlet.java:110)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1216)
        at
org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
        at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
        at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:493)
        at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
        at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
        at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
        at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
        at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
        at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:456)
        at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
        at org.eclipse.jetty.server.Server.handle(Server.java:351)
        at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:594)
        at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1059)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:764)
        at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
        at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
        at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:506)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
        at java.lang.Thread.run(Thread.java:662)

What causes the activemq to generate several thousand threads for my few
users?

I allready tried to use dedicatedTaskRunner=false in my broker conf. There
was no effect.

Greetings,
Alexander

--
View this message in context: http://activemq.2283324.n4.nabble.com/OutOfMemoryError-unable-to-create-new-native-thread-tp3402303p3402303.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: OutOfMemoryError: unable to create new native thread

Posted by Jeremy Levy <je...@gmail.com>.
*java.lang.OutOfMemoryError: unable to create new native thread*

Generally means that there isn't enough free memory for the OS to create a
new thread.  I would suggest freeing up memory on the machine or REDUCING
the heap size of the JVM.

J

On Thu, Mar 24, 2011 at 8:08 AM, Laures <ba...@googlemail.com>wrote:

> Hi,
>
> I'm currently load testing the native REST Api of activemq on our hardware.
> I'm using pylot to generate several users.
>
> Some time into the test i start to get:
>
>  WARN | Error for /rest/message/FOO/BAR
> java.lang.OutOfMemoryError: unable to create new native thread
>        at java.lang.Thread.start0(Native Method)
>        at java.lang.Thread.start(Thread.java:640)
>        at
>
> org.apache.activemq.thread.TaskRunnerFactory.execute(TaskRunnerFactory.java:92)
>        at
>
> org.apache.activemq.thread.TaskRunnerFactory.execute(TaskRunnerFactory.java:85)
>        at
>
> org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:211)
>        at
>
> org.apache.activemq.transport.vm.VMTransportServer.connect(VMTransportServer.java:91)
>        at
>
> org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:145)
>        at
>
> org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:53)
>        at
>
> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
>        at
>
> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
>        at
>
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:243)
>        at
>
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:258)
>        at
>
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
>        at
>
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)
>        at
> org.apache.activemq.web.WebClient.getConnection(WebClient.java:246)
>        at
> org.apache.activemq.web.WebClient.createSession(WebClient.java:348)
>        at org.apache.activemq.web.WebClient.getSession(WebClient.java:239)
>        at
>
> org.apache.activemq.web.MessageServletSupport.getDestination(MessageServletSupport.java:319)
>        at
>
> org.apache.activemq.web.MessageServletSupport.getDestination(MessageServletSupport.java:267)
>        at
> org.apache.activemq.web.MessageServlet.doPost(MessageServlet.java:110)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>        at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
>        at
>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1216)
>        at
> org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
>        at
>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
>        at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421)
>        at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
>        at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:493)
>        at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
>        at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
>        at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
>        at
>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
>        at
>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
>        at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
>        at
>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
>        at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:456)
>        at
>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
>        at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
>        at org.eclipse.jetty.server.Server.handle(Server.java:351)
>        at
>
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:594)
>        at
>
> org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1059)
>        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:764)
>        at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
>        at
> org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
>        at
>
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:506)
>        at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
>        at java.lang.Thread.run(Thread.java:662)
>
> What causes the activemq to generate several thousand threads for my few
> users?
>
> I allready tried to use dedicatedTaskRunner=false in my broker conf. There
> was no effect.
>
> Greetings,
> Alexander
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/OutOfMemoryError-unable-to-create-new-native-thread-tp3402303p3402303.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
Jeremy Levy