-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
1.堆的初始值与堆内存最大值一定要保持一致,这样可以减少垃圾回收次数。
-Xms :初始值 -Xmx:最大值
2.设置新生代与老年代回收比例
新生代与老年代比例:1:3或1:4 (
-Xmn:新生代大小
-XX:SurvivorRatio:设置新生代中eden区和from/to空间的比例关系n/1
-XX:NewRatio=2:新生代与老年代的比例:1/2
3.Tomcat内存溢出
在catalina.sh修改JVM堆内存大小:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize-512m"
4.栈溢出 StackOverflowError
由于调用链层次超过最层次会发生,如:方法的递归调用(不是循环调用)
使用参数: -Xss5m设置递归调用深度