参数介绍
- $CATALINA_OPTS保留之前的配置(linux/unix)
- -Server开启服务器模式(默认-client)
- -Xms初始内存,-Xmx最大内存,生产环境下-Xms与-Xmx值相同为1024的倍数,以避免每次垃圾回收完成后JVM重新分配内存
- -XX:NewSize,-XX:MaxNewSize,新生成内存池大小
- -XX:PermSize,-XX:MaxPermSize,永久域大小为物理内存1/64
- -XX:SurvivorRatio 救助域与Eden空间的比值
- -Xmn 年轻代大小,Sun官方推荐配置为整个堆的3/8
- -Xss 每个线程的堆栈大小一般128k,建议256k
- -XX:+UseParallelGC 吞吐量优先的并行收集器,适用于科学技术和后台处理
- -XX:+UseParallelOldGC 配置年代垃圾收集方式为并行收集
- -XX:ParallelGCThreads 配置并行收集器的线程数 此值最好配置与处理器数目相等
- -XX:+UseAdaptiveSizePolicy 使目标系统规定的最低相应时间或者收集频率
- -XX:MaxTenuringThreshold=0 设置垃圾最大年龄(在年轻代的存活次数)
- -XX:+UseConcMarkSweepGC 设置年老代为并发收集
- -XX:+UseCMSCompactAtFullCollection 打开对年老代的压缩,可能会影响性能,但是可以消除碎片
在一般情况下配置以上参数后,均可以满足大部分应用服务器需要,更多参见:http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm
windows配置
路径:/tomcat/bin/catalina.bat(例:win_server_2008_R2_64bit,16Gmemory,24处理器,服务器主要后台处理)
@echo off
cls
java -Djava.net.preferIPv4Stack=true -Xms6144m -Xmx6144m -XX:PermSize=256M -XX:MaxPermSize=256M -Xmn2304m -XX:NewSize=256m -XX:MaxNewSize=256m -Xss256k -XX:+UseParallelGC -XX:MaxTenuringThreshold=0 -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -XX:SurvivorRatio=6 -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -XX:MaxTenuringThreshold=0 -XX:ParallelGCThreads=24 -Djmx.Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar bootstrap.jar
注:-XX:ParallelGCThreads请修改为实际服务器处理器数量,可将整个catalina.bat修改为上述内容
Linux/Unix配置
路径:/tomcat/bin/catalina.sh
在“cygwin=false”之前添加如下内容(例:win_server_2008_R2_64bit,16Gmemory,24处理器,服务器主要用于网站)
CATALINA_OPTS=”-server -Xms6144M -Xmx6144M -Xmn=2304M -Xss=256k -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=256M -XX:MaxPermSize=256M - XX:SurvivorRatio =6 -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -XX:ParallelGCThreads=24”$CATALINA_OPTS
注:-XX:ParallelGCThreads请修改为实际服务器处理器数量