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. |