Мне нужна моя точка доступа Oracle, чтобы выбросить исключение java.lang.OutOfMemoryError: GC overhead limit exceeded
гораздо раньше, чем с параметрами по умолчанию UseGCOverheadLimit
.Настройка верхних верхних пределов на верхнем пределе
По умолчанию OOME возникает, когда более 98% времени отводится в GC и восстанавливается менее 2% кучи (описано http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#par_gc.oom).
Например, мне нужна моя JVM, чтобы выбросить OOME, когда более 20% времени тратится на GC. К сожалению, -XX:GCTimeRatio=nn
не подходит.
Причина, по которой мне нужно настроить JVM таким образом, заключается в том, что я тестирую свое приложение, имеет ли он утечку памяти (точно, у меня есть инфраструктура обнаружения утечки памяти, где я хочу ежедневно тестировать наше приложение), и мне не нужна моя JVM, чтобы как можно быстрее попытаться освободить кучу.
Спасибо! Так грустно, что я не смог это сделать ... –