读书人

tomcat的一些参数可以对性能开展调优

发布时间: 2012-10-08 19:54:56 作者: rapoo

tomcat的一些参数,可以对性能进行调优。

#!/bin/sh

JAVA_HOME=/usr/lib/java
CATALINA_HOME=/var/lib/apache-tomcat-6.0.18
DAEMON_HOME=$CATALINA_HOME/bin/jsvc-src
TOMCAT_USER=tomcat6

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc6.pid
CATALINA_BASE=$CATALINA_HOME

CATALINA_OPTS="-Xms1024M -Xmx1024M -Xmn128M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:SoftRefLRUPolicyMSPerMB=0 -Djava.awt.headless=true"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
? start)
??? #
??? # Start Tomcat
??? #
??? $DAEMON_HOME/jsvc \
??? -user $TOMCAT_USER \
??? -home $JAVA_HOME \
??? -Dcatalina.home=$CATALINA_HOME \
??? -Dcatalina.base=$CATALINA_BASE \
??? -Djava.io.tmpdir=$TMP_DIR \
??? -wait 10 \
??? -pidfile $PID_FILE \
??? -outfile $CATALINA_HOME/logs/catalina.out \
??? -errfile '&1' \
??? $CATALINA_OPTS \
??? -cp $CLASSPATH \
??? org.apache.catalina.startup.Bootstrap
??? #
??? # To get a verbose JVM
??? #-verbose \
??? # To get a debug of jsvc.
??? #-debug \
??? exit $?
??? ;;

? stop)
??? #
??? # Stop Tomcat
??? #
??? $DAEMON_HOME/jsvc \
??? -stop \
??? -pidfile $PID_FILE \
??? org.apache.catalina.startup.Bootstrap
??? exit $?
??? ;;

? restart)
??? #
??? # Restart Tomcat
??? #
??? $0 stop
??? $DAEMON_HOME/jsvc \
??? -stop \
??? -pidfile $PID_FILE \
??? org.apache.catalina.startup.Bootstrap
??? #exit $?
??? $0 start
??? ;;

? *)
??? echo "Usage tomcat.sh start/stop/restart"
??? exit 1;;
esac

?

?

?

这个是tomcat6的在linux系统上的一个启动脚本。

其实主要的关键在

CATALINA_OPTS="-Xms1024M -Xmx1024M -Xmn128M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:SoftRefLRUPolicyMSPerMB=0 -Djava.awt.headless=true"

?

这个就是对启动的jvm的一些参数。

分配内存-Xms1024M -Xmx1024M? 最大最小斗是1G

其他的大家自己看看,呵呵,其实就是设置了jvm的回收方式,jvm有几种GC方式,并行回收,线性回收等等。

读书人网 >软件架构设计

热点推荐