GC设置为:
最小,最大,总JVM大小(-Xms -Xmx)
JVM_SIZE="-Xms24g -Xmx24g"
新一代规模(-Xmn)
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"
对于CMS来说,24克可能太大了?
2014-03-03T19:34:10.687 + 0800:74.121:[GC [1 CMS-initial-mark:1431731K(23068672K)] 3170863K(24956160K),0.8289630 secs] [次:用户= 0.83 sys = 0.00,真实= 0.83秒] 应用程序线程停止的总时间:0.8294730秒
答案 0 :(得分:0)
对于CMS来说,24克可能太大了?
这取决于你的业务,它是否需要那么多,或者它可以用少于24克。
然而,记忆由2个maim空间隔开,年轻和年老。这两个空格是单独收集的,因此要启用CMS
,您需要使用‑XX:+UseConcMarkSweepGC
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-