下图为调整前的tomcat jvm状态图:
可以将明显看到permGen是比较小的,heap内存相对比较大。因此必须需要调整permGen大一些,heap相对减小一些维持在60%左右。
在网上查了很多资料,都说直接在catalina.sh下直接添加JAVA_OPTS即可,但是这个方法我自己没实践成功在tomcat7下。
成功方法实践:
CLASSPATH= if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then . "$CATALINA_BASE/bin/setenv.sh" elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then . "$CATALINA_HOME/bin/setenv.sh" fi
创建setenv.sh,把它放在${tomcat-folder}\bin\}目录下, 文件的内容是:
export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m"
详见:http://www.importnew.com/10427.html