当前位置: 首页 > 知识库问答 >
问题:

CMS初始标记需要800+ms,正常吗?

莫逸仙
2023-03-14

GC设置为:

最小、最大、总JVM大小(-xms-xmx)

JVM_SIZE="-Xms24g -Xmx24g"
JVM_SIZE_NEW="-Xmn2g"
JVM_GC_TYPE="-XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
JVM_GC_OPTS="-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:SurvivorRatio=8 -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+UseCMSCompactAtFullCollection -XX:+CMSClassUnloadingEnabled"

共有1个答案

姬念
2023-03-14

也许24g对CMS来说太大了?

这取决于你的业务,它需要那么多还是它可以用更少的24g。

然而,记忆被两个残缺的空间分开,年轻的和老的。这两个空格是单独收集的,因此要启用CMS,您需要使用-xx:+useconcmarksweepgc

-XX:MaxNewSize=  -> this need to be 40% from your Xmx value
-XX:NewSize= -> this need to be 40% from your Xmx value

对于控制GC延迟,您还可以使用:

–XX:CMSWaitDuration= -delay in ms-
 类似资料: