nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

JBoss AS 7.1.0.Final Java VM Tuning

JBoss AS 7.1から、standalone.shで-serverなどのオプションが自動付与される簡易チューニングの仕組みが変更になった。standalone.conf内でPRESERVE_JAVA_OPTS=trueとすることで、簡易チューニングをoffにできるので、合わせてoffにしておく。

In $JBOSS_HOME/bin/standalone.conf:

PRESERVE_JAVA_OPTS=true
JAVA_OPTS="-server"
JAVA_OPTS="$JAVA_OPTS -Xmn128m -Xms512m -Xmx512m -XX:MaxPermSize=256m -Xss512k"
JAVA_OPTS="$JAVA_OPTS -Xverify:none" # do not use this in production
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
JAVA_OPTS="$JAVA_OPTS -XX:+TieredCompilation"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCompressedOops" # 64bit only!
# JAVA_OPTS="$JAVA_OPTS -Xloggc:gc.log.`date +%Y%m%d%H%M%S`" # enable in production
JAVA_OPTS="$JAVA_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+HeapDumpOnOutOfMemoryError"
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true"
JAVA_OPTS="$JAVA_OPTS -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -Djboss.server.default.config=standalone.xml"