OS版本:CentOS release 6.5 (Final)
Tomcat版本: Apache Tomcat/7.0.65
开始在网上看了资料配置Tomcat的JAVA_OPTS,不知道是不是版本不一致的原因导致catalina.sh文件可能不一致。在首行加入java_opts之后不生效,在阅读catalina.sh之后发现
echo "Using CATALINA_BASE: $CATALINA_BASE" 这句话之前又重新设置了一遍JAVA_OPTS 导致前面的设置被覆盖,所以直接在这儿改变JAVA_OPTS 就可以了。
实现远程命令启动tomcat的时候又发现会丢失加入的JAVA_OPTS配置,发现是远程启动的时候不满足 if [ $have_tty -eq 1 ]; then 这个条件。在首行再加入一遍JAVA_OPTS 配置就可以了。
另外贴一些JAVA_OPTS参数(机器配置 16G内存 8核心)
JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms8912m -Xmx8912m -XX:PermSize=200M -XX:MaxPermSize=1 024M -XX:MaxDirectMemorySize=1024M -XX:SurvivorRatio=6 -XX:NewRatio=4 -XX:+DisableExplicitGC -XX: +UseConcMarkSweepGC -XX:PretenureSizeThreshold=5242880 -XX:MaxTenuringThreshold=50 -XX:CMSInitiat ingOccupancyFraction=80 -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseTLAB"
ps:不同的机器配置JAVA_OPTS 参数也不一致。可以去网上看下JVM的优化策略,根据自己的实际情况配置JAVA_OPTS。