首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >G1的java堆参数

G1的java堆参数
EN

Stack Overflow用户
提问于 2018-01-25 12:58:58
回答 2查看 500关注 0票数 1

我在JAVA 7中使用了下面的java GC参数。

代码语言:javascript
复制
-Xmx12g -Xms12g 
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=15 -XX:ConcGCThreads=8 -XX:ParallelGCThreads=16 -XX:G1ConcRefinementThreads=17 -XX:+UseCompressedOops -XX:G1ReservePercent=20 -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent 

我想知道当我们看到GC被触发时,堆利用率的百分比是多少。

-XX:G1ReservePercent=20:保留20 %。

-XX:InitiatingHeapOccupancyPercent=15:由于这个原因,我认为当我的堆使用了65% (总计100 %- 15 = 85,但保留了20 %,所以65 %),那么GC就会被触发。

我的理解正确吗?

EN

回答 2

Stack Overflow用户

发布于 2018-01-27 06:06:14

在解决JDK-8151176问题之前,IHOP计算有些特殊。它与相对于总堆的活动集大小进行比较,但活动集大小通常不能与总堆大小一样大,因为在测量占用时,年轻区域中的eden和from-space将始终为空。

G1ReservePercent没有计入IHOP,相反,在设置IHOP时需要考虑前者。

总数100%- 15 = 85

这是倒退的。它是关于占用率,而不是自由空间。它就在名字里。

票数 0
EN

Stack Overflow用户

发布于 2018-01-27 23:11:12

在参数定义-XX:InitiatingHeapOccupancyPercent=85中,这意味着标记周期将从总堆的85%开始(这里没有其他参数使用-XX:InitiatingHeapOccupancyPercent)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48435943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档