activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Davies <rajdav...@gmail.com>
Subject Re: ava.lang.OutOfMemoryError: Failed to fork OS thread - 5.2.0 broker
Date Tue, 06 Oct 2009 19:50:44 GMT
There's a good FAQ entry to help: http://activemq.apache.org/how-do-i-configure-10s-of-1000s-of-queues-in-a-single-broker-.html

On 6 Oct 2009, at 20:34, Dan Tran wrote:

>
> 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.
>

Rob Davies
http://twitter.com/rajdavies
I work here: http://fusesource.com
My Blog: http://rajdavies.blogspot.com/
I'm writing this: http://www.manning.com/snyder/






Mime
View raw message