Как получить макс. размеры "кучи" и permgen от JVM?

Хорошо, хотя я ожидаю, что подавление @Parameter сработает, мне удалось заставить его работать, добавив in=ParameterIn.QUERY.

Кроме того, просмотр исходного кода Micronaut с использованием @QueryValue также должен работать.

7
задан Uri 11 January 2009 в 18:44
поделиться

3 ответа

Попробуйте это:

MemoryMXBean mem = ManagementFactory.getMemoryMXBean();
mem.getHeapMemoryUsage().getUsed();
mem.getNonHeapMemoryUsage().getUsed();

Но они только предлагают данные снимка, не накопленное значение.

7
ответ дан 6 December 2019 в 14:10
поделиться

Попробуйте что-то вроде этого за макс. генерала перманента:

public static long getPermGenMax() {
    for (MemoryPoolMXBean mx : ManagementFactory.getMemoryPoolMXBeans()) {
        if ("Perm Gen".equals(mx.getName())) {
            return mx.getUsage().getMax();
        }
    }
    throw new RuntimeException("Perm gen not found");
}

Для макс. "кучи" можно получить это от Времени выполнения, хотя можно также использовать соответствующий MemoryPoolMXBean.

8
ответ дан 6 December 2019 в 14:10
поделиться

Что касается затмения, попытайтесь искать профильный инструмент. Я думаю, что NetBeans имеет тот по умолчанию.

0
ответ дан 6 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: