|
|
|
JVM heap express-analysis
|
|||
|---|---|---|---|
|
#18+
Ку. Возникла необходимость вытащить некую информацию из кучи не прибегая к помощи профиляторов/иных стандартных способов снятия heap dump (они разные и зависят от версии, самый удобный имхо в 1.4.2). Информация нужна такая: по имени класса либо интерфейса (или его части) найти все объекты этого класса (или реализующие данный интерфейс) построить деревья объектов (вообще то хватит имен классов), с inbound референсами на найденные объекты (с ограничением по уровню) Доп. условия в идеале хотелось бы без native libs, но сомневаюсь что это возможно JVM versions 1.4/1.5 Т.е. нужен минимум информации в минимально возможные сроки с минимальными усилиями. Вопрос как? спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 13:42:03 |
|
||
|
JVM heap express-analysis
|
|||
|---|---|---|---|
|
#18+
Не понял почему отбрасываем все "иных стандартных способов". Нужен обязательно не стандартный? Вообще дамп памяти, кажется, можно снять с любой JVM. Я это с IBM-овской проделывал. С Sun-овской, кажется, там тоже что-то можно в консоль плюнуть, чтобы она дамп вывалила. А потом тулзами этот дамп анализировать. Для IBM там есть удобная консольная тулза. Но чтобы все дерево построить наверное свое что-то надо писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 14:12:20 |
|
||
|
JVM heap express-analysis
|
|||
|---|---|---|---|
|
#18+
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6454676 В Sun только с опцией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 14:17:24 |
|
||
|
JVM heap express-analysis
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 15:31:03 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=621&tid=2145047]: |
0ms |
get settings: |
13ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
40ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
69ms |
get tp. blocked users: |
3ms |
| others: | 293ms |
| total: | 476ms |

| 0 / 0 |
