189 8069 5689

jvm常见参数设置-创新互联

1.内存中常见的参数
  1. ‐XX:MaxTenuringThreshold
    设置新老年代晋升,大值为15,并行收集器的默认值为15,CMS收集器的默认为6。

    成都网站建设哪家好,找成都创新互联公司!专注于网页设计、成都网站建设、微信开发、成都小程序开发、集团成都企业网站定制等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都雨棚定制等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞许!
  2. ‐XX:PretenureSizeThreshold
    超过多大的对象直接在老年代分配,避免在新生代的Eden和S区不断复制

  3. ‐XX:+/‐ UseAdaptiveSizePolicy
    启用自适应生成大小调整。默认情况下启用此选项。当eden : s1 : s2 为
    8:1:1 时,这个参数启用后,实际上可能不是你设置的比例,会进行微调

  4. ‐XX:SurvivorRatio
    默认为8,也就是说Eden占新生代的8/10,From幸存区和To幸存区各占新生代的1/10

  5. ‐XX:ConcGCThreads
    设置用于并发GC的线程数。默认值取决于JVM可用的CPU数量。

  6. ‐Xsssize
    设置栈内存的大小,设置的栈的大小决定了函数调用的大深度

  7. ‐Xms和‐Xmx
    初始化堆内存,和大的堆内存,一般设置成一样大,内存的扩容涉及到内存的移动,开销更大

  8. ‐XX:ReservedCodeCacheSize
    设置JIT编译代码的代码缓存大小

2.G1垃圾收集器的常见参数 2.1 什么时候选择G1
  1. 50%以上的堆被存活对象占用
  2. 对象分配和晋升的速度变化非常大
  3. 垃圾回收时间比较长
2.2 常见参数

官网:
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/g1_gc_tuning.html#recommendat

2.3 建议
  1. 不要手动设置新生代和老年代的大小,只要设置整个堆的大小
    1).G1收集器在运行过程中,会自己调整新生代和老年代的大小
    2). 其实是通过adapt代的大小来调整对象晋升的速度和年龄,从而达到为收集器设置的暂停时间目标,如果手动设置了大小就意味着放弃 了G1的自动调优。

  2. 不断调优暂停时间目标
    1). 一般情况下这个值设置到100ms或者200ms都是可以的(不同情况下会不一样),但如果设置成50ms就不太合理。暂停时间设置的太短, 就会导致出现G1跟不上垃圾产生的速度。最终退化成Full GC。
    2). 所以对这个参数的调优是一个持续的过程,逐步调整到最佳状态。暂停时间只是一个目标,并不能总是得到满足。

  3. 使用-XX:ConcGCThreads=n来增加标记线程的数量

  4. 适当增加堆内存大小

  5. 不正常的Full GC
    有时候会发现系统刚刚启动的时候,就会发生一次Full GC,但是老年代空间比较充足,一般是由Metaspace区域引起的。可以通过Me taspaceSize适当增加其大家,比如256M。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:jvm常见参数设置-创新互联
文章出自:http://jkwzsj.com/article/eeieh.html

其他资讯