java.lang.OutOfMemoryError: GC overhead limit exceeded
与默认参数相比,我需要Oracle Hotspot更快地引发异常UseGCOverheadLimit
。
默认情况下,当超过98%的时间用于GC并且少于2%的堆被恢复时,就会发生OOME(描述为http://www.oracle.com/technetwork/java/javase/gc-tuning-6 -140523.html#par_gc.oom)。
例如,当20%以上的时间用于GC时,我需要JVM抛出OOME。不幸的是,这-XX:GCTimeRatio=nn
似乎没有什么不同。
我需要以这种方式调整JVM的原因是,我正在测试我的应用程序是否包含内存泄漏(准确地说,我有一个内存泄漏检测基础结构,我想每天测试我们的应用程序)并且我没有不需要我的JVM尽可能地努力释放堆。
默认情况下,当超过98%的时间用于GC并且少于2%的堆被恢复时,就会发生OOME
这两个值是通过GCHeapFreeLimit
和配置的GCTimeLimit
GCTimeRatio
仅定义了GC启发式优化的软目标。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句