我们需要为catalina.sh中的JAVA_OPTS设置多少内存

时间:2012-03-07 09:17:01

标签: java tomcat6 heap-memory catalina

以下是我的系统配置

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

enter image description here

以下是我在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 opts,就像这样

  

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“

1 个答案:

答案 0 :(得分:2)

JVM内存调优并非易事。

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