JVM产生CMS GC的 5 种环境,你知道的必定不全!
这里首要看 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 缘故起因。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |