Анализ дампа потока Java Tomcat с помощью Eclipse Memory Analyzer - ошибка - PullRequest
0 голосов
/ 25 января 2012

Итак, я получил дамп кучи / потока java tomcat, используя kill -3.Кажется, что дамп идет в catalina.out в виде

Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.2-b06 mixed mode):

"RMI TCP Connection(2018)-50.28.31.254" daemon prio=10 tid=0x00007f743cb90800 nid=0x2624        runnable [0x00007f7438ef7000]
   java.lang.Thread.State: RUNNABLE

, заканчивающемся

Heap
 PSYoungGen      total 570432K, used 315753K [0x00000007d5560000, 0x0000000800000000,     0x0000000800000000)
  eden space 442752K, 71% used     [0x00000007d5560000,0x00000007e89ba460,0x00000007f05c0000)
  70000000,0x000000077848b090,0x0000000780000000)

...

Я скопировал и вставил выше (ивсе между) .. Eclipse выдавал ошибку при попытке "Открыть дамп":

Error opening heap dump 'dump2.txt'. Check the error log for further details.
Error opening heap dump 'dump2.txt'. Check the error log for further details.
Invalid HPROF file header. (java.io.IOException)
Invalid HPROF file header.

Что я делаю не так?

1 Ответ

4 голосов
/ 25 января 2012

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

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

jmap -dump:file=app.bin 123456

, который создаст дамп кучи с именем app.bin для идентификатора процесса 123456

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...