3

启动tomcat时出现错误

无法为对象堆保留足够的空间

无法创建 Java 虚拟机

我用谷歌搜索了一下,这似乎是一个常见问题,但到处提到的修复方法对我不起作用。

每个提到这个问题的地方都说“设置 CATALINA_HOME 或 JAVA_OPTS”。我为两个变量设置了值,并为 head 和 permsize 保留了足够的空间,但我仍然面临同样的问题。

在较轻的节点上:我已验证有足够的空间可供分配。

我正在使用 32 位堆栈,我正在为 JAVA_OPTS 和 CATALINA_OPTS 设置以下值

-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m

4

2 回答 2

11

32 位 Windows 上的 Java 需要一个连续的内存块 - windows32 不能提供太大的内存块,AFAIK 最大 1.5G(这是从 XP 时代回来的内存),但如果内存还没有太碎片化,那么只有这么多(是的,我知道,现在听起来很奇怪)。

因此,在启动其他应用程序之前,您可能会尝试重新启动计算机并首先启动 java/tomcat。另一种选择是提供更少的内存(尝试需要多少内存与可用内存)。

此外,对于生产设置,我始终建议让 -Xms 和 -Xmx 具有相同的大小:如果出现问题,您将立即获得结果,并且已经分配了连续的内存块。

于 2012-12-24T23:41:12.370 回答
1

尝试在“打开启动配置”中更改 Tomcat 参数。

在 Eclipse 的服务器视图中,双击服务器,单击“打开启动配置”链接。在出现的屏幕上,单击“参数”选项卡,您将看到一个类似以下结尾的值:-Dproperties.path=C:/dgoj/properties/local -Xms512m -Xmx1024m -XX:MaxPermSize=512m

您只需修改最后一个值 XX:MaxPermSize 即可将其设置为:

XX:MaxPermSize=256m

Tomcat 现在应该可以正常启动了

于 2016-06-17T07:50:59.153 回答