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。