0

我的Java EE应用程序在主机服务器上运行得很好,但它使用了大量的堆空间。允许的堆空间是64MB. 每次我的应用程序使用比64 MB堆更多的东西时,我都会暂停我的托管帐户。我认为托管服务提供商没有为我的应用程序设置最大堆空间,这就是为什么我没有outOfMemoryException达到目标>64MB

我有自己的 tomcat 实例,我可以配置 tomcat 配置。我的问题是 - 我如何设置我的 tomcat 实例的最大允许堆空间,以便它outOfMemoryException在达到限制时抛出?这样我的托管帐户就不会被暂停。

这是catlina.batcatlina.sh

我必须在哪里更改这些文件?

4

3 回答 3

2

增加堆空间很简单,就像在 JVM 中添加一个命令行开关:

-Xmx2g

2g for 2Gb,如果你想要兆字节:512m ---> -Xmx512m

于 2012-08-10T13:28:02.813 回答
1

您有一个名为JAVA_OPTS的变量。

添加到它的论点-Xmx1g

代替:set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

与:设置 JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -Xmx1g

于 2012-08-10T13:25:32.917 回答
1

它在 setenv.sh 中,由 catalina.sh 检测到:

JVM_ARGS="-Xmx64m"

问候

菲利普

于 2012-08-10T13:26:17.057 回答