1、非XX参数
参数 | 默认值 | 说明 |
Xmx |
| 堆最大内存 |
Xmn |
| 新生代的最大内存 |
Xms |
| 堆的初始内存 |
Xloggc:file |
| 输出GC文件 |
2、远程调试参数
参数 | 默认值 | 说明 |
-Dcom.sun.management.jmxremote |
|
|
-Dcom.sun.management.jmxremote.port |
| 端口号 |
-Dcom.sun.management.jmxremote.authenticate=false |
|
|
-Dcom.sun.management.jmxremote.ssl=false |
|
|
-Djava.rmi.server.hostname=192.168.1.12 |
|
|
3、内存调试参数
参数 | 默认值 | 说明 |
HeapDumpOnOutOfMemoryError | 关闭 | 在发生内存溢出异常时是否生成堆转储快照,关闭则不生成。 |
PrintGCDetails | 关闭 | 打印GC的详细信息 |
PrintGCTimeStamps | 关闭 | 打印GC停顿耗时 |
4、内存管理公共参数
参数 | 默认值 | 说明 |
AggressiveOpts |
| 打开点性能的编译器优化,预计将在即将发布的默认。 (5.0更新6推出)。 |
CompileThreshold |
|
|
DisableExplicitGC | 关闭 | 忽略来自System.gc()方法触发的垃圾回收 |
|
|
|
MaxHeapFreeRatio | 70 | 当Xmx大于Xms时,堆可以动态收缩和扩展,这个参数控制收缩比率 |
MaxTenuringThreshold | 15 | 晋升到老年代的对象年龄。每个对象在坚持过一次Minor GC之后,年龄加1。当超过该参数就进入老年代。 |
MinHeapFreeRatio | 40 | 当Xmx大于Xms时,堆可以动态收缩和扩展,这个参数控制收缩比率 |
|
|
|
NewRatio | 8 | 新生代与老年代的比例 |
|
|
|
PretenureSizeThreshold | 无默认值 | 直接晋升到老年代的对象大小,设置该参数后,大于该参数的对象将直接在老年代分配。 |
ParallelGCThreads |
|
|
SurvivorRatio | 8 | 新生代中Edge与Survivor的比例 |
ThreadStackSize |
|
|
一、CMS方案
1、 相关参数
参数 | 默认值 | 说明 |
UseConcMarkSweepGC | False | 当ture时,启用CMS做为GC方案 |
UseCMSCompactAtFullCollection | true | 完成GC后,是否进行一次碎片整理。 |
CMSMaxAbortablePrecleanTime | 5000 |
|
CMSFullGCsBeforeCompacion |
| 进行若干次GC后,进行一次碎片整理。 |
CMSClassUnloadingEnabled |
|
|
CMSInitiatingOccupancyFraction | 68 | 老年代空间占用多少后触发GC。 |
CMSParallelRemarkEnabled |
| 降低标记停顿 |
CMSInitiatingPermOccupancyFraction | 92 | 方法区达到多少触发GC. |