zoukankan      html  css  js  c++  java
  • GC:并行回收CMS详解

    CMS详解

    https://www.cnblogs.com/ggjucheng/p/3977612.html

    CMS默认不回收Perm, 需要加参数 +CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

     gc: cms有个缺点是容易产生内存碎片, 需要设置压缩重排. 老年代太小时并发收集器找不到连续的空间,此时会转成单线程的标记清除

    • -XX:+UseCMSCompactAtFullCollection:使用并发收集器时,开启对年老代的压缩。
    • -XX:CMSFullGCsBeforeCompaction=0:上面配置开启的情况下,这里设置多少次Full GC后,对年老代进行压缩

    观察设置前后,yongGC fullGC的时长变化

    https://unixboy.iteye.com/blog/174173

    GC日志 在线分析工具

    https://gceasy.io/

    各版本默认GC

    JDK6 JDK7 8 JDK9 10 11  
    -XX:+UseSerialGC -XX:+UseParallelGC -XX:+UseG1GC  

    查看方法:java -XX:+PrintFlagsFinal -version | findstr GC

     CMS一直没有当作默认GC,  因为少数情况下比ParallelGC还差

     使用哪种GC的决定因素:

    内存大小 ,  如果堆大于6G, 推荐G1和新版本的GC, 如果是小内存,老的算法也许更合适

    场景, 计算优先(延时可以很大),还是吞吐优先(低延时),  常见的场景是吞吐,用户不想等个几秒 系统还没反应

     微服务时代:  Xmx Xms要设置成一样吗 使用稳定的堆, 还是震荡的堆 ?

     各有优缺点,

    如果机器多, 推荐稳定堆; 如果机器资源紧张, 业务量小可以考虑震荡的堆

     

     

  • 相关阅读:
    数据操作-对数据的增删改查-单表查询和多表查询
    爬虫从入门到放弃
    爬虫从入门到放弃
    创建表的完整语法及表之间的关系
    树链剖分练习总结
    [BZOJ]1984: 月下“毛景树”
    [BZOJ]2243: [SDOI2011]染色
    [BZOJ]4034: [HAOI2015]树上操作
    NOIP2012题解
    CODEVS4633 [Mz]树链剖分练习
  • 原文地址:https://www.cnblogs.com/yszzu/p/10046020.html
Copyright © 2011-2022 走看看