加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

JVM产生CMS GC的 5 种环境,你知道的必定不全!

发布时间:2019-06-12 22:35:57 所属栏目:站长百科 来源:涤生YQ
导读:常常有同窗会问,为啥我的应用 Old Gen 的行使占比没到达 CMSInitiatingOccupancyFraction 参数设置的阈值,就触发了 CMS GC,暗示很莫名奇奥,不知道题目出在哪? 着实 CMS GC 的触发前提很是多,不可是 CMSInitiatingOccupancyFraction 阈值触发这么简朴

这里首要看 metaspace 的 shouldconcurrent_collect 符号,这个符号在 meta space 举办扩容前假如设置了 CMSClassUnloadingEnabled 参数时,会举办配置。这种环境下就会举办一次 CMS GC。因此常常会有应用启动不久,Old Gen 空间占比还很小的环境下,举办了一次 CMS GC,让你很莫名其妙,着实就是这个缘故起因导致的。

总结

本文梳理了 CMS GC 的 foreground collector 和 background collector 的触发前提,foreground collector 的触发前提相对来说较量简朴,而 background collector 的触发前提较量多,分成 5 大种环境,各大种环境种尚有一些小的触发分支。尤其是在没有设置 UseCMSInitiatingOccupancyOnly 参数的环境下,会多出许多种触发也许,一样平常在出产情形是凶猛提议设置 UseCMSInitiatingOccupancyOnly 参数,以便于可以或许较量确定的执行 CMS GC,其它,也利便排查 GC 缘故起因。

【编辑保举】

  1. 传闻又被 JVM 内存地区方面的口试题给虐了?看看这篇文章吧!
  2. 漫衍式体系Kafka和ES中,JVM内存越大越好吗?
  3. JVM 与 Linux 的内存相关详解
  4. Java后端开拓三年,你不得不相识的JVM
  5. 详解JVM运行道理及Stack和Heap的实现进程
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读