首页 > 代码库 > Java 进阶 (三) JVM参数说明

Java 进阶 (三) JVM参数说明

1.JVM(Java Virtual Machine)

1.-Xms    初始堆大小

2.-Xmx    最大堆大小

3.-Xmn    青年代大小

4.-Xss    每个线程的堆栈大小

5.-XX:+UseParNewGC    青年代垃圾收集方式为并行收集

6.-XX:+UseParallelOldGC   老年代垃圾收集方式为并行收集

7.-XX:ParallelGCThreads    并行收集器的线程数(最好与处理器数目相等)

8.-XX:MaxGCPauseMillis    每次青年代垃圾回收的最长时间(最大暂停时间)

9.-XX:+UseAdaptiveSizePolicy    自动选择青年代区大小和相应的Survivor区比例

10.-XX:GCTimeRatio    设置垃圾回收时间占程序运行时间的百分比

11.-XX:+ScavengeBeforeFullGC    Full GC前调用YGC


21.-XX:NewSize    青年代大小(for 1.3/1.4)

22.-XX:MaxNewSize    青年代最大值(for 1.3/1.4)

23.-XX:PermSize    设置持久代(perm gen)初始值

24.-XX:MaxPermSize    持久代最大值


2.CMS(Concurrent Mark-Sweep)

以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。

1.-XX:+UseConcMarkSweepGC    使用CMS内存收集

2.-XX:CMSFullGCsBeforeCompaction    多少次后进行内存压缩

3.-XX:+CMSParallelRemarkEnabled    降低标记停顿

4.-XX+UseCMSCompactAtFullCollection    在FULL GC的时候, 对年老代的压缩

5.-XX:+UseCMSInitiatingOccupancyOnly    使用手动定义初始化定义开始CMS收集

6.-XX:CMSInitiatingOccupancyFraction=70    使用cms作为垃圾回收,使用70%后开始CMS收集

7.-XX:CMSInitiatingPermOccupancyFraction    设置Perm Gen使用到达多少比率时触发

8.-XX:+CMSIncrementalMode    设置为增量模式

Java 进阶 (三) JVM参数说明