Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JVM heap express-analysis / 5 сообщений из 5, страница 1 из 1
27.07.2007, 13:42:03
    #34688956
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JVM heap express-analysis
Ку.
Возникла необходимость вытащить некую информацию из кучи не прибегая к помощи профиляторов/иных стандартных способов снятия heap dump (они разные и зависят от версии, самый удобный имхо в 1.4.2).
Информация нужна такая:
по имени класса либо интерфейса (или его части) найти все объекты этого класса (или реализующие данный интерфейс)

построить деревья объектов (вообще то хватит имен классов), с inbound референсами на найденные объекты (с ограничением по уровню)
Доп. условия

в идеале хотелось бы без native libs, но сомневаюсь что это возможно

JVM versions 1.4/1.5
Т.е. нужен минимум информации в минимально возможные сроки с минимальными усилиями.
Вопрос как?

спасибо.
...
Рейтинг: 0 / 0
27.07.2007, 14:12:20
    #34689107
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JVM heap express-analysis
Не понял почему отбрасываем все "иных стандартных способов". Нужен обязательно не стандартный? Вообще дамп памяти, кажется, можно снять с любой JVM. Я это с IBM-овской проделывал. С Sun-овской, кажется, там тоже что-то можно в консоль плюнуть, чтобы она дамп вывалила. А потом тулзами этот дамп анализировать. Для IBM там есть удобная консольная тулза. Но чтобы все дерево построить наверное свое что-то надо писать.
...
Рейтинг: 0 / 0
27.07.2007, 14:17:24
    #34689125
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JVM heap express-analysis
...
Рейтинг: 0 / 0
27.07.2007, 15:13:31
    #34689409
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JVM heap express-analysis
...
Рейтинг: 0 / 0
27.07.2007, 15:31:03
    #34689482
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JVM heap express-analysis
BlazkowiczНе понял почему отбрасываем все "иных стандартных способов снятия heap dump ". Нужен обязательно не стандартный? Вообще дамп памяти, кажется, можно снять с любой JVM. Я это с IBM-овской проделывал. С Sun-овской, кажется, там тоже что-то можно в консоль плюнуть, чтобы она дамп вывалила. А потом тулзами этот дамп анализировать. Для IBM там есть удобная консольная тулза. Но чтобы все дерево построить наверное свое что-то надо писать.
Нестандартный - потому что то чего хочеца нет в природе [для 1.4/1.5].
Почему стандартные средства снятия дампа не устраивают:
1. доп. опции => рестарт.
2. версия JVM может не позволять снимать дампы. различные орг. ограничения могут затягивать обновление.
3. jmap - ацтой. редкостный. 100МБ кучи может писаться очень долго. Больше - вообще отвалиться с OutOfMemory.
4. jhat аналогично. требует слишком много ресурсов для открытия дампа.
5. не нужен дамп всей кучи.
expp Add support for backtracking reference graph.
очень хочу нечто подобное хотя бы в 1.5.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JVM heap express-analysis / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]