与Jvm 性能优化相关的一些参数配置

浪尽此生 提交于 2019-12-01 04:49:23

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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!