title: Why does my Sun JVM fail to initialize when I set PermGen above 128M?
body: <p>I need to increase my PermGen. Currently I pass the following as command line parameters:</p>
  
  <p><code>-XX:PermSize=128m
  -XX:MaxPermSize=128m</code></p>
  
  <p>This works. If I try to increase the values, however, my JVM fails to initialize, giving me this error:</p>
  
  <p><code>[2009-06-18 01:39:44] [info] Error occurred during initialization of VM
  [2009-06-18 01:39:44] [info] Could not reserve enough space for object heap
  [2009-06-18 01:39:44] [info] 
  [2009-06-18 01:39:44] [395  javajni.c] [error] CreateJavaVM Failed</code></p>
  
  <p>Specifically, I'm trying to boot up <em>Tomcat</em> in the included <em>JRE6</em>, but I don't think this should matter.</p>
  
  <p><strong>Edit:</strong> I'm running Win2k3 VM image with 2GB of RAM. I boot the JVM using the <em>Monitor Tomcat</em> application with the following parameters:</p>
  
  <p>Initial memory pool: <strong>1024</strong>, maximum memory pool: <strong>1536</strong></p>
  
  <p><code>-XX:PermSize=128m
  -XX:MaxPermSize=128m
  -XX:+CMSPermGenSweepingEnabled
  -XX:+CMSClassUnloadingEnabled
  -XX:+UseConcMarkSweepGC
  -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0
  -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0
  -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed
  -Djava.io.tmpdir=E:\tomcat\temp
  -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
  -Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties
  </code></p>