JVM参数浅析ITeye - 千亿集团

JVM参数浅析ITeye

2019-01-13 13:08:51 | 作者: 青寒 | 标签: 内存,设置,搜集 | 浏览: 632

#-XX:+UseParNewGC 设置年青代为并行搜集。

#-XX:+UseConcMarkSweepGC 设置并发搜集器

#-XX:+CMSParallelRemarkEnabled 表明并行remark

#-XX:+UseCMSCompactAtFullCollection  翻开对年迈代的紧缩。可能会影响功能,可是能够消除碎片

#-XX:+UseFastAccessorMethods 原始类型的快速优化

#-XX:+UseCMSInitiatingOccupancyOnly 运用手动界说初始化界说开端CMS搜集

#-XX:+UseCompressedOops

#-XX:-ReduceInitialCardMarks

#-XX:CMSInitiatingOccupancyFraction=75

#-XX:SurvivorRatio=3   survivor和eden的比值为1:3  

#-XX:+DisableExplicitGC

#-XX:-UseAdaptiveSizePolicy

 

1.-Xms100m -Xmx100m

   ms:minus即最小内存,jvm发动的时分初始化内存,假如ms和mx不相同则jvm的内存会依据运用情况动态调整,一般设置两个值相同。

  ms,mx的内存是指young和tenured两块的内存,有些blog说这个是整个jvm的内存包括permgen的内存,实践是不正确的。能够经过jstat -gc来计算出来的,概况见截图。

  S0C+S1C+EC+OC=102400也就是100M

    

   所以置疑是不是jvm内部机制假如minor gc 6次内存没有减的话就会报错,于是乎猜测假如-XX:MaxTenuringThreshold=3是不是三次之后就会将目标进入tenured区域,可是此刻发现tenured区域没有满足的空间此刻会抛oom过错呢。

    

    第四次测验,

    java -Xms35M -Xmx35M -Xmn30M -XX:SurvivorRatio=1  -XX:MaxTenuringThreshold=3   TestOOM

    仍是以失利告终啊,居然仍是minor gc 6次之后才报错啊,是在不明白了,有大神给解读下这是为什么吗?

 

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章