JVM调优常用参数

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

新生代中EdgeSurvivor的比例

ThreadStackSize

 

 

 

一、CMS方案

1、  相关参数

 

参数

默认值

说明

UseConcMarkSweepGC

False

当ture时,启用CMS做为GC方案

UseCMSCompactAtFullCollection

true

完成GC后,是否进行一次碎片整理。

CMSMaxAbortablePrecleanTime

5000

 

CMSFullGCsBeforeCompacion

进行若干次GC后,进行一次碎片整理。 

CMSClassUnloadingEnabled

 

 

CMSInitiatingOccupancyFraction

68

老年代空间占用多少后触发GC。

CMSParallelRemarkEnabled

 

降低标记停顿

  CMSInitiatingPermOccupancyFraction 92  方法区达到多少触发GC.

 

 

你可能感兴趣的:(jvm)