JDK配置
1 | -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M -Dmaven.multiModuleProjectDirectory=$M2_HOME |
1 | -Xms512m JVM初始分配的堆内存 |
参数名 | 含义 | 默认值 | 备注 |
---|---|---|---|
-Xms | 初始堆大小 | 物理内存的1/64(<1GB) | 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制。 |
-Xmx | 最大堆大小 | 物理内存的1/4(<1GB) | 默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。 |
-Xmn | 年轻代大小(1.4or lator) | 注意:此处的大小是(eden+ 2 survivor space),与jmap -heap中显示的New gen是不同的。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。增大年轻代后,将会减小年老代大小,此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。 | |
-XX:NewSize | 设置年轻代大小(for 1.3/1.4) | - | |
-XX:MaxNewSize | 年轻代最大值(for 1.3/1.4) | - | |
-XX:PermSize | 设置持久代(perm gen)初始值 | 物理内存的1/64 | - |
-XX:MaxPermSize | 设置持久代最大值 | 物理内存的1/4 | - |
Tomcat配置
编辑TOMCAT_HOME/bin/catalina.bat,在第二行中插入如下配置:
1 | set JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:PermSize=64M -XX:MaxNewSize=512m -XX:MaxPermSize=128m |
linux下编辑TOMCAT_HOME/bin/catalina.sh,在第二行中插入如下配置:
1 | JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=512m -XX:MaxPermSize=512m" |
一般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小。
Eclipse配置
编辑eclipse安装目录下eclipse.ini配置文件,最后添加如下配置:
1 | -Dosgi.requiredJavaVersion=1.7 |
参数名 | 含义 | 默认值 | 备注 |
---|---|---|---|
-XX:+UseParallelGC | Full GC采用parallel MSC | 默认不启用,-server时启用 | 新生代使用并行清除,年老代使用单线程Mark-Sweep-Compact清除的垃圾收集器。 |
-XX:+DisableExplicitGC | 禁止代码中显示调用GC | 默认不启用 | 如果加上了这个JVM启动参数,那么代码中调用System.gc()没有任何效果,相当于是没有这行代码一样。 |