原创

更改Tomcat的JVM堆

前言

tomact启动时,start.sh 文件会去读取 catalina.sh, 如果 setenv.sh 文件不存在,则使用默认的配置,如果有,则按照setenv.sh分配内存。所以,我们只要在bin目录下新建一个setenv.sh,设置jvm内存分配规则就好。

步骤

在bin目录下,新建setenv.sh,内容如下

export CATALINA_OPTS="$CATALINA_OPTS -Xms2048m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx2048m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=512m"

验证是否生效

这里不要用start.sh启动tomcat,用./catalina.sh run 启动,log 如下:

root@iZrj9efsj55mym7smowpe1Z:/opt/tomcat8/bin# ./catalina.sh run

...

06-Sep-2017 14:31:35.207 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms2048m
06-Sep-2017 14:31:35.208 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx2048m
06-Sep-2017 14:31:35.208 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:MaxPermSize=512m

...

06-Sep-2017 14:31:35.911 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 582 ms
正文到此结束