activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: 3.1 broker OutofMemoryError : unable to create new native thread
Date Fri, 13 Apr 2007 12:14:16 GMT

On Apr 4, 2007, at 3:53 PM, robr wrote:

>
> server Env:
>
>   4 Gig Mem  with 2048M max JVM heap assigned to java
>
>     Linux amq1 2.6.12-1.1447_FC4smp #1 SMP Fri Aug 26 21:03:12 EDT  
> 2005
> x86_64 x86_64 x86_64 GNU/Linux
>
> JVM - java version "1.5.0_09"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_09-b03, mixed mode, sharing)
>
> FAQ - if this JVM is 32 bit and i have 4G available, can i just  
> increase
> -Xmx from 2048M to 3500M and solve the problem by reacting directly  
> to the
> memory error?
>
> Should i upgrade the broker from 3.1 to 3.2.2 to address the memory  
> issue?
> we are using persistence ( hypersonic DB?) and no journaling.
> We process 600K messages per day.
>
> Im curious about what todo with this error if the JVM already has  
> 2048M
> allocated.

I don't think increasing your heap memory will help you. In fact it  
could well hurt... You may actually find that reducing your heap size  
may help avoid this problem. Java (and your OS) will allocate non- 
heap memory for things like open files and Threads. Increasing your  
heap size can actually reduce the amount of memory available for  
these other purposes.

As I recall, you used to be able to configure how much stack memory  
was allocated per thread (-oss and -css? -- it's been a while since I  
dealt with these...). I'd start by reducing your heap size a bit  
(2048m -->  gigs -> 1536m, maybe).

--kevan

Mime
View raw message