有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

tomcat中java堆和PermGenspace的增加

我看到SO和其他网站上发布了大量问题,以在出错时增加tomcat的内存。但是它们看起来都不一样,因为其中一些说使用CATALINA_OPTS,一些说JAVA_OPTS。如果没有文件创建它,他们说的位置主要是bin/setenv.sh

我按照上面的步骤操作,仍然无法按预期正确设置memory

我已经在当前使用tomcat的bin目录中创建了setenv.sh文件。但堆空间仍然没有增加

CATALINA_OPTS="-Dfile.encoding=UTF-8 -server  -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:+DisableExplicitGC"

这是我的setenv内容。请任何人解释一下这里的问题是什么,以及setexport是否需要在setenv中使用。嘘

谁能为我指点一下吗


共 (1) 个答案

  1. # 1 楼答案

    请尝试编辑bin/setenv。嘘

    export CATALINA_OPTS="-Dfile.encoding=UTF-8 -server  -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:+DisableExplicitGC"
    

    JAVA_OPTS被传递给在同一台机器上运行的所有JVM进程

    如果您特别希望将JVM参数传递给Tomcat,请使用CATALINA_OPTS

    通过在终端中使用ps -eaf | grep 'tomcat',我们可以确认这些值

    例如

    root     32451     1 99 13:57 pts/1    00:00:07 /usr/java/jdk1.7.0_79/bin/java 
    -Djava.util.logging.config.file=/opt/apache-tomcat/conf/logging.properties  
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
    -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:+DisableExplicitGC 
    -Djava.endorsed.dirs=/opt/apache-tomcat/endorsed -classpath /opt/apache-tomcat/bin/bootstrap.jar:/opt/apache-tomcat/bin/tomcat-juli.jar 
    -Dcatalina.base=/opt/apache-tomcat 
    -Dcatalina.home=/opt/apache-tomcat 
    -Djava.io.tmpdir=/opt/apache-tomcat/temp org.apache.catalina.startup.Bootstrap start