Что вызывает утечку кэша кода JRE 6 JVM?

Варианты NT имеют

команда openfiles

, которая покажет, какие процессы имеют дескрипторы на который файлы. Это действительно, однако, требует включения системы, глобальный флаг 'ведет список объектов'

openfiles / локальный/?

говорит Вам, как сделать это, и также что потеря производительности понесена путем выполнения так.

17
задан GEOCHET 19 October 2009 в 12:10
поделиться

4 ответа

Можно ли вызвать jvisualvm (в JDK) против проблемного приложения? Это может легко сделать вас более мудрым в отношении того, что происходит.

0
ответ дан 30 November 2019 в 14:50
поделиться

You may want to look through this discussion and just go backwards to see what may be helpful in trying to narrow this down: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2009-January/000530.html

This one involves JDK5 but may be helpful: http://www.nabble.com/Java-code-cache-memory-td22202283.html

Are you using this to compile jsp pages, or something similar? If not, what is being compiled after the application starts up? Are you using AspectJ with runtime weaving?

It would help to know what you are doing to get a better idea as to how to help.

Also, when the code cache is exhausted, does it just stop compiling anew or does the jvm crash? I would expect the former.

Are you using Sun's JDK? I am guessing you are since I doubt the others are listed as version 6, but it doesn't hurt to ask.

1
ответ дан 30 November 2019 в 14:50
поделиться

Мне было интересно, может ли вам помочь новый сборщик мусора G1 (начиная с версии Java 6, обновление 14). Вы можете попробовать это с -XX: + UnlockExperimentalVMOptions -XX: + UseG1GC, однако, согласно комментариям к блогу Джона Масамицу , этого не произойдет (если проблема действительно связана с кешем кода). Но, возможно, обсуждение там или ссылки на него могут помочь.

1
ответ дан 30 November 2019 в 14:50
поделиться

Из комментариев в этом сообщении в блоге: http://blogs.oracle. com / jonthecollector / entry / our_collectors

код удаляется, когда классы выгружаются (а также , когда методы "признаны недействительными", т. е. некоторые предположения, сделанные во время их компиляции, больше не удерживать)

на вашем месте я бы запустил рабочую нагрузку, сделал дамп кучи и проверил, все ли классы gc'd, как вы ожидаете.

1
ответ дан 30 November 2019 в 14:50
поделиться
Другие вопросы по тегам:

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