Sound like you have the classical slow consumer fast producer problem. Read up on producer flow control feature, prefetchSize, etc.
-Dan jimmymartin wrote: > > Hello, > > I'm running a 5.2.0 broker that throws the error below after about 2 days > of running. I've seen some discussion from previous posts indicating that > changing the thread stack size via -Xss is the solution. Does anyone have > a suggestion as to the 'best' setting for this value for an activemq > broker? The default value appears to be 256K, at least for the Sun JVM. > > Also if there are any other configuration tweaks that could alleviate this > problem, please let me know. > > I have single broker with about 22 queues and approximately 24 connections > per queue handling some 50 to 100 events per second. I'm using an IBM 1.5 > JVM on Linux. I've set the max heap size to 1024M. > > Any help would be appreicated. > > Thanks, Jimmy > > 2009-10-04 06:43:11,406 [190.39.16:52113] ERROR Service > - Async error occurred: java.lang.OutOfMemoryError: Failed to fork OS > thread > java.lang.OutOfMemoryError: Failed to fork OS thread > at java.lang.Thread.startImpl(Native Method) > at java.lang.Thread.start(Thread.java:970) > at > java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:470) > at > java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:878) > at > org.apache.activemq.thread.PooledTaskRunner.wakeup(PooledTaskRunner.java:76) > at > org.apache.activemq.store.amq.AMQMessageStore.removeMessage(AMQMessageStore.java:276) > at > org.apache.activemq.store.amq.AMQMessageStore.removeMessage(AMQMessageStore.java:213) > at org.apache.activemq.broker.region.Queue.acknowledge(Queue.java:504) > at > org.apache.activemq.broker.region.Queue.removeMessage(Queue.java:1071) > at > org.apache.activemq.broker.region.QueueSubscription.acknowledge(QueueSubscription.java:51) > at > org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:238) > at > org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373) > at > org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462) > at > org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194) > at > org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74) > at > org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74) > at > org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85) > at > org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456) > at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205) > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305) > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179) > at > org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143) > at > org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206) > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) > at > org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:104) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185) > at java.lang.Thread.run(Thread.java:803) > > -- View this message in context: http://www.nabble.com/ava.lang.OutOfMemoryError%3A-Failed-to-fork-OS-thread---5.2.0-broker-tp25774586p25775235.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.