我需要增加我的PermGen。目前,我将以下命令作为命令行参数传递:
-XX:PermSize=128m
-XX:MaxPermSize=128m
这很有效。但是,如果我尝试增加值,我的JVM无法初始化,给我这个错误:
[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
具体来说,我正在尝试在包含的 JRE6 中启动 Tomcat ,但我认为这不重要。
编辑:我正在使用2GB的RAM运行Win2k3 VM映像。我使用 Monitor Tomcat 应用程序使用以下参数启动JVM:
初始内存池: 1024 ,最大内存池: 1536
-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
答案 0 :(得分:4)
尝试用-Xmx512m给它一个更大的堆(这将给出512 MB)
您使用了哪些其他内存参数?你的机器有多少内存?你是在32位还是64位机器上?
答案 1 :(得分:2)
Perm Gen是Heap的补充,因此请检查流程 - 您需要拥有1.5 GB以上的2G。
答案 2 :(得分:1)
我有2GB内存,我使用设置-Xmx1024m -XX运行tomcat:PermSize = 512m -XX:MaxPermSize = 512m。这通常运行良好。