Java CMS初始分数为800+;小姐,这正常吗?
GC设置为: 最小、最大、总JVM大小(-Xms-Xmx) 新一代尺码(-Xmn) 要使用的垃圾收集器类型Java CMS初始分数为800+;小姐,这正常吗?,java,garbage-collection,Java,Garbage Collection,GC设置为: 最小、最大、总JVM大小(-Xms-Xmx) 新一代尺码(-Xmn) 要使用的垃圾收集器类型 JVM_GC_TYPE="-XX:+UseConcMarkSweepGC -XX:+UseParNewGC" 上述垃圾收集器的调整选项 JVM_GC_OPTS="-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:SurvivorRatio=8 -XX:+CMSParallelRemar
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"
也许24g对CMS来说太大了
2014-03-03T19:34:10.687+0800:74.121[GC[1厘米初始标记:1431731K(23068672K)]3170863K(24956160K),0.8289630秒][次:用户=0.83系统=0.00,实数=0.83秒]
停止应用程序线程的总时间:0.8294730秒
也许24g对CMS来说太大了
这取决于您的业务,是需要这么多,还是可以用不到24克
然而,记忆被两个残缺的空间隔开,年轻的和年老的。这两个空格分别收集,因此要启用CMS
,您需要使用-XX:+useConMarkSweepGC
CMS
将在幼崽被填满时或在一段时间内收集幼崽。以下是一些设置年轻空间的建议:
-XX:MaxNewSize= -> this need to be 40% from your Xmx value
-XX:NewSize= -> this need to be 40% from your Xmx value
这将加快GC的速度并使其更加准确。这意味着旧的不会很快填满(避免过早升级对象)
对于控制GC
延迟,您还可以使用:
–XX:CMSWaitDuration= -delay in ms-
这可能对你有帮助:对于大的堆,你也应该认真考虑G1。但是大的年轻的尺寸意味着更长的年轻GC时间成本。你应该考虑最小化你的代码> XMX堆大小。
-XX:MaxNewSize= -> this need to be 40% from your Xmx value
-XX:NewSize= -> this need to be 40% from your Xmx value
–XX:CMSWaitDuration= -delay in ms-