常见垃圾回收参数:
Option | Description |
---|---|
-XX:+UseSerialGC | Serial Garbage Collector 串行垃圾回收器 |
-XX:+UseParallelGC | Parallel Garbage Collector并行垃圾回收器 |
-XX:+UseConcMarkSweepGC | CMS Garbage Collector并发标记垃圾回收器 |
-XX:ParallelCMSThreads= | CMS Collector – number of threads to use 并发标记垃圾回收器使用的线程数,通常是cpu个数 |
-XX:+UseG1GC | G1 Gargbage Collector 使用G1垃圾回收器 |
常见垃圾回收选项
Option | Description |
---|---|
-Xms | Initial heap memory size 初始化heap大小 -Xms512M |
-Xmx | Maximum heap memory size 设置最大的heap大小 |
-Xmn | Size of Young Generation 年轻代的大小 |
-XX:PermSize | Initial Permanent Generation size 初始化永久带的大小 |
-XX:MaxPermSize | Maximum Permanent Generation size 最大的永久带大小 |
Parallel GC 并行垃圾回收策略举例:
java -Xmx3800m -Xms3800m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100
CMS GC 并发标记清楚垃圾回收策略举例:
-server -Xms6000M -Xmx6000M -Xss512k -XX:NewSize=2250M -XX:MaxNewSize=2250M -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=31 -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly
配置解释
-server 设置server模式
-Xms6000M 初始化堆大小
-Xmx6000M 最大堆大小
-Xss512k 每个线程堆栈大小(需严格测试,根据自身来看)
-XX:NewSize=2250M 设置新生代内存大小
-XX:MaxNewSize=2250M 最大新生代内存大小
-XX:PermSize=128M 持久代大小
-XX:MaxPermSize=256M 最大持久代大小
-XX:+AggressiveOpts 使用JDK优化技术(如果有)
-XX:+UseBiasedLocking 启用优化线程锁
-XX:+DisableExplicitGC 禁用显示的调用System.gc()
-XX:+UseParNewGC 新生代启用并发收集
-XX:+UseConcMarkSweepGC 年老代启用CMS收集
-XX:MaxTenuringThreshold=31 设置垃圾最大年龄
-XX:+CMSParallelRemarkEnabled 并发remark,减少mark时间
-XX:+UseCMSCompactAtFullCollection 并发GC时,对内存进行整理
-XX:LargePageSizeInBytes=128m 指定堆分页页面大小
-XX:+UseFastAccessorMethods get,set 方法转成本地代码,原始类型的快速优化
-XX:+UseCMSInitiatingOccupancyOnly 只有在 oldgeneration 在使用了初始化的比例后 concurrent collector 启动收集。
原文链接:JVM参数之垃圾回收,转载请注明来源!