普通4核8G服务器配置JVM模板
-Xms4096M -Xmx4096M -Xmn3072M -Xss1M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=92
-XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSParallelInitialMarkEnabled -XX:+CMSScavengeBeforeRemark
-XX:+DisableExplicitGC -XX:+PrintGCDetails -Xloggc:gc.log
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/appoom
| 参数 |
说明 |
| -Xms4096M |
最小堆内存 |
| -Xmx4096M |
最大堆内存 |
| -Xmn3072M |
新生代内存 |
| -Xss1M |
每个线程的栈内存大小 |
| -XX:MetaspaceSize=256M |
元数据大小 |
| -XX:MaxMetaspaceSize=256M |
元数据最大大小 |
| -XX:+UseParNewGC |
新生代使用 ParNew 垃圾回收器 |
| -XX:+UseConcMarkSweepGC |
老年代使用 CMS 垃圾回收器 |
| -XX:CMSInitiatingOccupancyFraction=92 |
设置GC触发的百分比,太高会导致过多的Concurrent Mode Failure,太低则影响性能,仅对CMS收集器生效 |
| -XX:+UseCMSCompactAtFullCollection |
Full GC后提供内存整理,该过程是无法并发的,会导致性能下降,仅对CMS收集器生效 |
| -XX:CMSFullGCsBeforeCompaction=0 |
设置进行完几次不进行压缩的Full GC后,进行一次附带压缩的Full GC,仅对CMS收集器生效 |
| -XX:+CMSParallelInitialMarkEnabled |
在CMS垃圾回收器的“初始标记”阶段开启多线程并发执行 |
| -XX:+CMSScavengeBeforeRemark |
在CMS的重新标记阶段之前,先尽量执行一次Young GC。 |
| -XX:+DisableExplicitGC |
禁止代码中显示调用GC |
| -XX:+PrintGCDetails |
打印gc详细信息。 |
| -Xloggc:gc.log |
保存gc信息的位置 |
| -XX:+HeapDumpOnOutOfMemoryError |
在OOM的时候自动dump内存快照出来 |
| -XX:HeapDumpPath=/tmp/appoom |
内存快照存放的位置 |