环境:
4G内存,双核CPU
调优参数设置:
-Xms1024M 初始堆内存大小-Xmx1024M 最大堆内存大小
-Xmn256M 新生代大小(Eden区与两个Survivor区)
-XX:PermSize=128M 初始持久代大小
-XX:MaxPermSize=128M 最大持久代大小
-XX:SurvivorRatio=8 新生代中Eden区与Survivor区的大小比值
-XX:MaxTenuringThreshold=7 对象在Survivor区复制的次数
-XX:GCTimeRatio=19 设置垃圾回收时间占程序运行时间的百分比,公式为1/(1+n)
-Xnoclassgc 禁止垃圾回收持久代对象
-XX:+DisableExplicitGC 关闭System.gc()
-XX:+UseParNewGC 设置新生代为并行收集
-XX:+UseConcMarkSweepGC 使用CMS内存收集
-XX:+CMSPermGenSweepingEnabled 使用CMS内存收集持久代
-XX:+UseCMSCompactAtFullCollection 在FULL GC的时候, 对旧生代的压缩,消除内存碎片
-XX:CMSFullGCsBeforeCompaction=0 在FULL GC多少次后进行内存压缩,0表示每次都进行
-XX:+CMSClassUnloadingEnabled 空间不够时可以卸载类来释放空间,以进行FULL GC
-XX:CMSInitiatingOccupancyFraction=70 内存使用70%后开始CMS收集
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
JAVA_OPTS="-Xms128m -Xmx256m -Xss512K -XX:PermSize=64m -XX:MaxPermSize=128m"
JAVA_OPTS="-Xms64m -Xmx128m -Xss256K -XX:PermSize=32m -XX:MaxPermSize=64m"