Jboss eap 5.1 GC JMV选项

时间:2013-08-16 06:14:35

标签: java garbage-collection

我正在使用带有Seam Framework的Jboss eap 5.1。我想调整我的GC以避免使用FullGC。我已经在使用CMS GC。这将是我在生产系统上的下一个配置:

-Xms24g
-Xmx24g
-XX:+UseCompressedOops
-XX:NewRatio=4 
-XX:SurvivorRatio=8    
-XX:+UseConcMarkSweepGC 
-XX:+UseParNewGC 
-XX:+DisableExplicitGC  
-XX:+UseCMSInitiatingOccupancyOnly 
-XX:+CMSClassUnloadingEnabled  
-XX:+CMSScavengeBeforeRemark 
-XX:CMSInitiatingOccupancyFraction=68

我的问题是“我是否需要删除此JVM选项”?:

-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000

如果我要添加这个:

-XX:+DisableExplicitGC

或者他们必须在一起?

1 个答案:

答案 0 :(得分:1)

您可以启用这两个选项集。但是,-XX:+DisableExplicitGC将阻止来自RMI会话的任何SystemGC调用。

推荐用法是使用-XX:+DisableExplicitGC完全禁用SystemGC,或者至少使用sun.rmi.dgc.*.gcInterval标志来控制系统GC调用的频率(以防止SystemGC频繁发生)。

我建议使用-XX:+DisableExplicitGC并观察“死”RMI对象的数量是否在增长,如果是,则需要开始使用sun.rmi.dgc.*.gcInterval标志进行调整。

这一切都提供了你真的想要避免使用Full GC,或许可以容忍短暂停顿Full GC不会是一个坏主意,因为无论如何你都需要它们来清理RMI对象。