> From: Henjo [mailto:henj...@gmail.com]
> Subject: MaxPermSize, Tomcat startup trouble
> 
> AFAIK the PermSpace holds all compiled java classes (and jsps) in RAM.

No; it holds the java.lang.Class instances that represent the loaded classes 
(including JSPs).  Size of a class file on disk has *nothing* to do with the 
size of a java.lang.Class object.  The number of webapps and JSPs you have is 
not particularly large.

> Available RAM is 3.5Gb on the machine, so that's not a problem.

It's also irrelevant.  The heap size (-Xmx + -XX:MaxPermSize) must fit in a 
contiguous area of virtual memory within the process.  On a 32-bit Windows 
system, the process space is 2 GB, unfortunately very fragmented by DLLs that 
Windows insists on scattering throughout the area.  You will never be able to 
get a total heap larger than 1.2 - 1.5 GB.  (There is a boot-time switch in 
Windows Server to allow 3 GB user process space, but that can cause other 
problems for the OS.)

> -Xmx1536m
> -XX:MaxPermSize=1024m

The above is not possible to achieve on a 32-bit system - ever.  Shrink the 
MaxPermSize down to something reasonable (e.g., 128m), then experiment with 
-Xmx until the JVM loads.  Normally best to set -Xms and -Xmx to the same value.

> -XX:+CMSPermGenSweepingEnabled

Irrelevant unless you have enabled the concurrent mark-sweep GC mechanism.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to