2

以下是我的系统配置

java version "1.6.0_17"  
Tomcat 6.0.18  
OS : Cent OS 5.7

在此处输入图像描述

以下是我在 Catalina.sh 中的 JAVA_OPTS

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=1024m - XX:+DisableExplicitGC"

我在大量使用时收到以下错误。和 Tomcat 崩溃..

java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Unknown Source)
    at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
    at java.lang.AbstractStringBuilder.append(Unknown Source)
    at java.lang.StringBuffer.append(Unknown Source)
    at org.htmlparser.parserHelper.TagParser.checkFinishedState(TagParser.java:157)
    at org.htmlparser.parserHelper.TagParser.automataInput(TagParser.java:93)
    at org.htmlparser.parserHelper.TagParser.find(TagParser.java:76)
    at org.htmlparser.tags.Tag.find(Tag.java:192)

任何人都可以说出 JAVA_OPTS 的正确配置,这样我就不会收到此错误。请帮助我提前谢谢。

编辑: 最后我像这样给了java选项

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx3072m -XX:NewSize=256m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=1024m"

4

1 回答 1

3

JVM 内存调优不是一件容易的事。

增加 JVM 内存是您应该做的第一件事,但也可以看看一些用于调查 JVM 内存消耗的工具。您可以从 jvisualvm 或 jconsole 开始(两者都应该放在 ${JDK_HOME}/bin 中)。

于 2012-03-07T10:13:38.757 回答