jmap -histo не хватает много памяти - PullRequest
2 голосов
/ 14 января 2010

У меня есть JVM с 12 гигабайтами общего ОЗУ, из которых 7 ГБ выделяется старому поколению. Кажется, что есть некоторая утечка памяти, потому что почти весь старый gen заполнен и не будет освобождаться, когда я планирую GC (процесс не делает ничего другого в это время).

Дамп jmap -histo показывает только объекты размером менее 1 гигабайта. Где пропавшие 6 концертов? Какой лучший инструмент вы предлагаете для диагностики этого?

Вот вершина вывода jmap:

 num     #instances         #bytes  class name
----------------------------------------------
   1:        429853       68725736  <constMethodKlass>
   2:        429853       51594040  <methodKlass>
   3:         37503       49611368  <constantPoolKlass>
   4:         37503       31109576  <instanceKlassKlass>
   5:        191716       28019968  [C
   6:         32573       26933152  <constantPoolCacheKlass>
   7:         86158       13789560  [I
   8:         53532       11244232  [B
   9:           284       10507216  [J
  10:        137608        7210664  <symbolKlass>
  11:        203072        6498304  java.lang.String
  12:         10132        5219512  <methodDataKlass>
  13:         39694        4128176  java.lang.Class
  14:         55713        3792816  [S
  15:         61816        3141936  [[I
  16:         90109        2883488  java.util.HashMap$Entry
...