在我的生产应用程序之一,我们使用的是Oracle JRockit的JVM作为。小GC频率非常高(大约每40秒)。但是有一段时间我们看到频繁的Full GC发生,在那段时间Minor GC也收回可以忽略的字节。导致应用程序失败,因为我们的应用程序需要在1秒和完整的GC暂停响应正在服用超过1秒。频繁的完全GC和零回收过程中,较小GC
我有一些来自GC日志的观察 1-轻微GC无法在此期间回收任何字节,而不是特定的时期Minor GC回收几乎95%至95%的苗圃(除了保留区域)。 2 - 我观察紧急并行清理要求在这个压缩阶段
我堆配置都
Heap : 10 GB
Nursery : 1GB
GC : gencon
Keeparea : 50%
CompactionRatio : 10%
gcTrigger : 40%
我们试图改变幼儿园大小为2GB & 3GB,其中问题的频率有2GB和下降与3GB
任何帮助增加了为什么这个问题是造成或如何作进一步调查
Upda te 1:
我已启用Memdbg模块进行GC,发现Full GC已触发,因为苗圃零件高于默认限制10000,但我可以看到OC也在苗圃中留下大量零件。在这个问题上
我在使用JRockit时遇到了一些问题。但是,如果我是你,我会尝试更好地了解不同存储区域的填充等级。不知道的JRockit的车载工具(我建议的JConsole与热点),我可以指出你YourKit,它提供了一个15天的试用,这应该足以得到一种感觉,它的内存区域都是人满为患。 – Jonathan