You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Barak Yaish <ba...@peer39.com> on 2008/09/07 12:46:27 UTC

Tomcat 6 Memory problem

Hello all,

 

I'm reposting here a question I posted before at the Users list, and someone
there suggested that maybe people who aware the source may be more useful.

 

So.

 

I'm running Tomcat 6.0.16 on CentoOS 5, linked with native library, 32 bit.
I deployed a Servelt, which on invocation executes an RMI call to a remote
RMI server. Tomcat configured with max heap size of 2G

 

After short time of running under heavy load, the memory consumption
reported by top is close to 2G. jmap output is:

 

 

 

Attaching to process ID 20248, please wait...

 

Debugger attached successfully.

 

Server compiler detected.

 

JVM version is 1.6.0-b105

 

 

 

using thread-local object allocation.

 

Parallel GC with 4 thread(s)

 

 

 

Heap Configuration:

 

   MinHeapFreeRatio = 40

 

   MaxHeapFreeRatio = 70

 

   MaxHeapSize      = 2147483648 (2048.0MB)

 

   NewSize          = 1048576 (1.0MB)

 

   MaxNewSize       = 4294901760 (4095.9375MB)

 

   OldSize          = 4194304 (4.0MB)

 

   NewRatio         = 2

 

   SurvivorRatio    = 8

 

   PermSize         = 16777216 (16.0MB)

 

   MaxPermSize      = 268435456 (256.0MB)

 

 

 

Heap Usage:

 

PS Young Generation

 

Eden Space:

 

   capacity = 582221824 (555.25MB)

 

   used     = 0 (0.0MB)

 

   free     = 582221824 (555.25MB)

 

   0.0% used

 

>From Space:

 

   capacity = 48103424 (45.875MB)

 

   used     = 48079216 (45.85191345214844MB)

 

   free     = 24208 (0.0230865478515625MB)

 

   99.9496751000511% used

 

To Space:

 

   capacity = 69402624 (66.1875MB)

 

   used     = 0 (0.0MB)

 

   free     = 69402624 (66.1875MB)

 

   0.0% used

 

PS Old Generation

 

   capacity = 1431699456 (1365.375MB)

 

   used     = 1424597528 (1358.6020736694336MB)

 

   free     = 7101928 (6.772926330566406MB)

 

   99.50395119798104% used

 

PS Perm Generation

 

   capacity = 35782656 (34.125MB)

 

   used     = 28493056 (27.173095703125MB)

 

   free     = 7289600 (6.951904296875MB)

 

   79.62811927655677% used

 

 

 

I've dump a file using jmap, and asked MemoryAnalyzer (www.eclipse.org/mat)
to take a look. This tool reported that an instance of java.security.Policy
retained 77.7% of the heap (552,569,816 bytes).

 

 

I would like to ask whether this behavior seems normal?

 

 

Thanks,

 

 

Barak.


RE: Tomcat 6 Memory problem

Posted by Barak Yaish <ba...@peer39.com>.
Thanks, can u direct me what exactly kind of info should I supply?

I do run a stress test, and I wouldn't complain if MY objects were growing,
I just thought it's weird that this Policy object retained so much memory...

-----Original Message-----
From: Johnny Kewl [mailto:john@kewlstuff.co.za] 
Sent: Sunday, September 07, 2008 4:03 PM
To: Tomcat Developers List
Subject: Re: Tomcat 6 Memory problem


Oh, misread your post, sorry, thought you where doing RMI "thru" a native 
lib... ha ha
Nevermind... its what happens when you pull an all nighter.

I'll let a TC guru answer it ;)
But you need to provide more info...

Are the threads stable? What are they doing...
Why only a short time test?
Let it run further, if its stable and doesnt crash, what you running may 
just be heavy.
Stick it under a load test, someting like JMeter and try break it?
Start up visualgc and watch it... if it keeps climbing, you in trouble.

Normal is relative ;)

java.security.Policy is like a policeman... its watching everything, the 
properties set, the memory allocated, the network connections, the 
threads... it may well grow with load.

The memory allocation actually means nothing if you dont actually know what 
the systems wants to top out at...

If your threads are climbing, it maybe the remote RMI cant keep up.
How long is a piece of string... just whack it and try break it, see if you 
have built a truck or a porche... etc...

Dont think anyone can tell you "short time" 3 gig perm heap... ok or not ok

Have fun....



----- Original Message ----- 
From: "Barak Yaish" <ba...@peer39.com>
To: <de...@tomcat.apache.org>
Sent: Sunday, September 07, 2008 12:46 PM
Subject: Tomcat 6 Memory problem


> Hello all,
>
>
>
> I'm reposting here a question I posted before at the Users list, and 
> someone
> there suggested that maybe people who aware the source may be more useful.
>
>
>
> So.
>
>
>
> I'm running Tomcat 6.0.16 on CentoOS 5, linked with native library, 32 
> bit.
> I deployed a Servelt, which on invocation executes an RMI call to a remote
> RMI server. Tomcat configured with max heap size of 2G
>
>
>
> After short time of running under heavy load, the memory consumption
> reported by top is close to 2G. jmap output is:
>
>
>
>
>
>
>
> Attaching to process ID 20248, please wait...
>
>
>
> Debugger attached successfully.
>
>
>
> Server compiler detected.
>
>
>
> JVM version is 1.6.0-b105
>
>
>
>
>
>
>
> using thread-local object allocation.
>
>
>
> Parallel GC with 4 thread(s)
>
>
>
>
>
>
>
> Heap Configuration:
>
>
>
>   MinHeapFreeRatio = 40
>
>
>
>   MaxHeapFreeRatio = 70
>
>
>
>   MaxHeapSize      = 2147483648 (2048.0MB)
>
>
>
>   NewSize          = 1048576 (1.0MB)
>
>
>
>   MaxNewSize       = 4294901760 (4095.9375MB)
>
>
>
>   OldSize          = 4194304 (4.0MB)
>
>
>
>   NewRatio         = 2
>
>
>
>   SurvivorRatio    = 8
>
>
>
>   PermSize         = 16777216 (16.0MB)
>
>
>
>   MaxPermSize      = 268435456 (256.0MB)
>
>
>
>
>
>
>
> Heap Usage:
>
>
>
> PS Young Generation
>
>
>
> Eden Space:
>
>
>
>   capacity = 582221824 (555.25MB)
>
>
>
>   used     = 0 (0.0MB)
>
>
>
>   free     = 582221824 (555.25MB)
>
>
>
>   0.0% used
>
>
>
> From Space:
>
>
>
>   capacity = 48103424 (45.875MB)
>
>
>
>   used     = 48079216 (45.85191345214844MB)
>
>
>
>   free     = 24208 (0.0230865478515625MB)
>
>
>
>   99.9496751000511% used
>
>
>
> To Space:
>
>
>
>   capacity = 69402624 (66.1875MB)
>
>
>
>   used     = 0 (0.0MB)
>
>
>
>   free     = 69402624 (66.1875MB)
>
>
>
>   0.0% used
>
>
>
> PS Old Generation
>
>
>
>   capacity = 1431699456 (1365.375MB)
>
>
>
>   used     = 1424597528 (1358.6020736694336MB)
>
>
>
>   free     = 7101928 (6.772926330566406MB)
>
>
>
>   99.50395119798104% used
>
>
>
> PS Perm Generation
>
>
>
>   capacity = 35782656 (34.125MB)
>
>
>
>   used     = 28493056 (27.173095703125MB)
>
>
>
>   free     = 7289600 (6.951904296875MB)
>
>
>
>   79.62811927655677% used
>
>
>
>
>
>
>
> I've dump a file using jmap, and asked MemoryAnalyzer 
> (www.eclipse.org/mat)
> to take a look. This tool reported that an instance of 
> java.security.Policy
> retained 77.7% of the heap (552,569,816 bytes).
>
>
>
>
>
> I would like to ask whether this behavior seems normal?
>
>
>
>
>
> Thanks,
>
>
>
>
>
> Barak.
>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Tomcat 6 Memory problem

Posted by Johnny Kewl <jo...@kewlstuff.co.za>.
Oh, misread your post, sorry, thought you where doing RMI "thru" a native 
lib... ha ha
Nevermind... its what happens when you pull an all nighter.

I'll let a TC guru answer it ;)
But you need to provide more info...

Are the threads stable? What are they doing...
Why only a short time test?
Let it run further, if its stable and doesnt crash, what you running may 
just be heavy.
Stick it under a load test, someting like JMeter and try break it?
Start up visualgc and watch it... if it keeps climbing, you in trouble.

Normal is relative ;)

java.security.Policy is like a policeman... its watching everything, the 
properties set, the memory allocated, the network connections, the 
threads... it may well grow with load.

The memory allocation actually means nothing if you dont actually know what 
the systems wants to top out at...

If your threads are climbing, it maybe the remote RMI cant keep up.
How long is a piece of string... just whack it and try break it, see if you 
have built a truck or a porche... etc...

Dont think anyone can tell you "short time" 3 gig perm heap... ok or not ok

Have fun....



----- Original Message ----- 
From: "Barak Yaish" <ba...@peer39.com>
To: <de...@tomcat.apache.org>
Sent: Sunday, September 07, 2008 12:46 PM
Subject: Tomcat 6 Memory problem


> Hello all,
>
>
>
> I'm reposting here a question I posted before at the Users list, and 
> someone
> there suggested that maybe people who aware the source may be more useful.
>
>
>
> So.
>
>
>
> I'm running Tomcat 6.0.16 on CentoOS 5, linked with native library, 32 
> bit.
> I deployed a Servelt, which on invocation executes an RMI call to a remote
> RMI server. Tomcat configured with max heap size of 2G
>
>
>
> After short time of running under heavy load, the memory consumption
> reported by top is close to 2G. jmap output is:
>
>
>
>
>
>
>
> Attaching to process ID 20248, please wait...
>
>
>
> Debugger attached successfully.
>
>
>
> Server compiler detected.
>
>
>
> JVM version is 1.6.0-b105
>
>
>
>
>
>
>
> using thread-local object allocation.
>
>
>
> Parallel GC with 4 thread(s)
>
>
>
>
>
>
>
> Heap Configuration:
>
>
>
>   MinHeapFreeRatio = 40
>
>
>
>   MaxHeapFreeRatio = 70
>
>
>
>   MaxHeapSize      = 2147483648 (2048.0MB)
>
>
>
>   NewSize          = 1048576 (1.0MB)
>
>
>
>   MaxNewSize       = 4294901760 (4095.9375MB)
>
>
>
>   OldSize          = 4194304 (4.0MB)
>
>
>
>   NewRatio         = 2
>
>
>
>   SurvivorRatio    = 8
>
>
>
>   PermSize         = 16777216 (16.0MB)
>
>
>
>   MaxPermSize      = 268435456 (256.0MB)
>
>
>
>
>
>
>
> Heap Usage:
>
>
>
> PS Young Generation
>
>
>
> Eden Space:
>
>
>
>   capacity = 582221824 (555.25MB)
>
>
>
>   used     = 0 (0.0MB)
>
>
>
>   free     = 582221824 (555.25MB)
>
>
>
>   0.0% used
>
>
>
> From Space:
>
>
>
>   capacity = 48103424 (45.875MB)
>
>
>
>   used     = 48079216 (45.85191345214844MB)
>
>
>
>   free     = 24208 (0.0230865478515625MB)
>
>
>
>   99.9496751000511% used
>
>
>
> To Space:
>
>
>
>   capacity = 69402624 (66.1875MB)
>
>
>
>   used     = 0 (0.0MB)
>
>
>
>   free     = 69402624 (66.1875MB)
>
>
>
>   0.0% used
>
>
>
> PS Old Generation
>
>
>
>   capacity = 1431699456 (1365.375MB)
>
>
>
>   used     = 1424597528 (1358.6020736694336MB)
>
>
>
>   free     = 7101928 (6.772926330566406MB)
>
>
>
>   99.50395119798104% used
>
>
>
> PS Perm Generation
>
>
>
>   capacity = 35782656 (34.125MB)
>
>
>
>   used     = 28493056 (27.173095703125MB)
>
>
>
>   free     = 7289600 (6.951904296875MB)
>
>
>
>   79.62811927655677% used
>
>
>
>
>
>
>
> I've dump a file using jmap, and asked MemoryAnalyzer 
> (www.eclipse.org/mat)
> to take a look. This tool reported that an instance of 
> java.security.Policy
> retained 77.7% of the heap (552,569,816 bytes).
>
>
>
>
>
> I would like to ask whether this behavior seems normal?
>
>
>
>
>
> Thanks,
>
>
>
>
>
> Barak.
>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org