当我将PermGen设置为128M以上时,为什么我的Sun JVM无法初始化?

StackOverflow https://stackoverflow.com/questions/1010986

  •  06-07-2019
  •  | 
  •  

我需要增加我的PermGen。目前,我将以下命令作为命令行参数传递:

<代码> -XX:PermSize =128米 -XX:MaxPermSize参数=128米

这很有效。但是,如果我尝试增加值,我的JVM无法初始化,给我这个错误:

[2009-06-18 01:39:44] [info]初始化VM时出错 [2009-06-18 01:39:44] [info]无法为对象堆保留足够的空间 [2009-06-18 01:39:44] [info] [2009-06-18 01:39:44] [395 javajni.c] [错误] CreateJavaVM失败

具体来说,我正在尝试在包含的 JRE6 中启动 Tomcat ,但我认为这不重要。

编辑:我正在使用2GB的RAM运行Win2k3 VM映像。我使用 Monitor Tomcat 应用程序使用以下参数启动JVM:

初始内存池: 1024 ,最大内存池: 1536

<代码> -XX:PermSize =128米 -XX:MaxPermSize参数=128米 -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

有帮助吗?

解决方案

Perm Gen是Heap的补充,因此请检查流程 - 您需要拥有1.5 GB以上的2G。

其他提示

尝试用-Xmx512m给它一个更大的堆(这将给出512 MB)

您使用了哪些其他内存参数?你的机器有多少内存?你是在32位还是64位机器上?

我有2GB内存,我使用设置-Xmx1024m -XX运行tomcat:PermSize = 512m -XX:MaxPermSize = 512m。这通常运行良好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top