jvm很多配置参数,我们可以根据不同的场合进行适合的调整,这样才能使jvm运行得最理想,下面就是一些有关jvm垃圾收集的配置。
- 标准参数
-X开始的参数不是标准参数,不同jvm实现可能会有不同;
-XX是扩展参数, 不同jvm实现也有所不同;
- 与堆相关的参数:
-Xms[?]M 堆初始大小, 默认 物理内存/64(<1G)
-Xmx[?]M 堆最大大小, 默认 物理内存/4(<1G)
-Xmn[?]M 堆中年轻代大小, Xmx - Xmn = 老年代容量
-MinHeapFreeRatio=[?], 默认当空闲堆小于该百分比时,堆会扩展到-Xmx的值, 默认40
-MaxHeapFreeRatio=[?], 默认当空闲堆大于该百分比时,堆会减小到-Xms的值,默认70
-XX:DisableExplicitGC 使System.gc()失效
-XX:SurvivorRatio=[?] 设置年轻代Eden:Survivor比例,默认8
-XX:PretenureSizeThreshold=[?](B) 设置多大对象应该直接分配到老年代,默认为1024
- gc日志相关的参数:
-verbose:gc/-XX:+PrintGCDetails 打印gc详细信息
-XX:+PrintGCDateStamps 打印gc动作的时间戳
-XX:+PrintGCApplicationConcurrentTime 在应用运行时用在gc上的时间
-Xloggc:gc.log //将gc信息输出到gc.log
- 方法区参数设置(Permanet Generation永久代)
-XX:PermSize=[?]M 最小值,默认16M
-XX:MaxPermSize=[?]M 最大值,-server默认64M,-client默认32M
来源:oschina
链接:https://my.oschina.net/u/222173/blog/193416