Hi Tomasz,

this is the exact point I was making in my previous email. The error message that was returned was to do with the Java Heap Space. It may be referring to the entire heap that is allocated to the JVM, who knows. The problem can be fixed by increasing your -XX:MaxPermSize value to more than 256. In my view that really isn't enough especially if you have 8 applications running within Tomcat. It it is possible to get some sort of stack trace from the native code, you will see that this OOM error occurs while trying to resize the PermGen as below. See the line (1).

( 0) 0xc5bf0474 vm_exit_out_of_memory__FUlPCcb + 0x47c [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 1) 0xc5e89d78 compute_new_size__9PSPermGenFUl + 0x150 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 2) 0xc5e86024 invoke_no_policy__11PSMarkSweepSFPbb + 0x244 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 3) 0xc5e8b814 invoke__10PSScavengeSFPb + 0x154 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 4) 0xc5e51f4c failed_mem_allocate__20ParallelScavengeHeapFPbUlbT3 + 0x64 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 5) 0xc5f6a78c doit__29VM_ParallelGCFailedAllocationFv + 0x54 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 6) 0xc5f6a280 evaluate__12VM_OperationFv + 0xb0 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 7) 0xc5f691e0 evaluate_operation__8VMThreadFP12VM_Operation + 0x48 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 8) 0xc5f698a0 loop__8VMThreadFv + 0x558 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] ( 9) 0xc5f68f24 run__8VMThreadFv + 0xd4 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl] (10) 0xc5e39b20 _start__FPv + 0x148 [/opt/java1.5/jre/lib/PA_RISC2.0/server/libjvm.sl]
(11)  0xc004b168   __pthread_body + 0x44  [/usr/lib/libpthread.1]
(12)  0xc00549ec   __pthread_start + 0x14  [/usr/lib/libpthread.1]

Download and use a program called visualgc available here http://java.sun.com/performance/jvmstat. You can have it running during the day and monitor what the garbage collector is doing and how the Eden, Old and Perm Gen heap spaces are growing. If Tomcat is not throwing an OOM error then the Garbage Collector could be trying to do Full GC's causing Tomcat to hang and become unresponsive. There is a flow on affect here, which makes it look as though the problem is caused by something else.

Cheers.

Tomasz Nowak wrote:
Peter Lin <[EMAIL PROTECTED]> wrote:
look at the dump, it looks like the permgen ran out of space

 PSPermGen       total 50304K, used 50170K [0x445f0000, 0x47710000,
0x545f0000)
  object space 50304K, 99% used [0x445f0000,0x476ee878,0x47710000)

try increasing your permGen to 128Mb. Another option is to use a jdk
that doesn't have permGen like JRockit.  Sun's PermGen is not resized
once the JVM starts, so if the webapp has lots of classes, it can
exceed the PermGen size.


As you see at the bottom of the file I have already 256m PermSpace.
Another issue is that if Tomcat 5.5.x runs out of PermSpace, it logs:

  java.lang.OutOfMemoryError: PermGen space

in contrary to:

  java.lang.OutOfMemoryError: Java heap space

And heap space OOME is the one that has been logged.


--



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to