Понимание свалки на джаваJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Понимание свалки на джава

Сообщение Anonymous »

Я пытался найти утечку памяти в своем приложении на неделю без какого -либо успеха. Я попытался сделать свалку кучи и использовать JHAT, чтобы посмотреть на дамп и проследить утечку памяти. < /P>

Это лучший подход? Какой лучший способ отследить утечку памяти с помощью дампа кучи. < /P>

Цените вашу помощь. < /P>

vm Используется: < /strong> java version "1.6.0_25"
java (tm) Se Cruntime Environment (Build 1.6.0_25-b6)
java (TM) Se-среда (Build 1.6.0_25-b6)
java (TM) SE (Build 1.6.0_25-b6)
java (TM) SE (Build 1.6.0_25)
java (TM) SE (Build 1.6.0_25)
java (TM) SE). 64 -битный сервер VM (Build 20.0 -B11, смешанный режим) < /p>

jvm Параметры: < /strong> -xmx1600m -xx:+useparallgc -xx: maxpermsize = 256m -xms1600m -xx:+heapdumponoutoffmerororor -Xx:+printgctimestamps -verbose: gc -xloggc: /tmp/gc.log

oome Stack Trace:
не смог этого получить. Ядро убило процесса с ошибкой памяти.48587.245: [GC [PSYoungGen: 407168K->37504K(476160K)] 506729K->137065K(1568448K), 3.0673560 secs] [Times: user=3.53 sys=0.00, real=3.07 secs]
50318.617: [GC [PSYoungGen: 444224K->37536K(476416K)] 543785K->175177K(1568704K), 3.6635990 secs] [Times: user=3.70 sys=0.00, real=3.67 secs]
50453.841: [GC [PSYoungGen: 70092K->2912K(476672K)] 207734K->178513K(1568960K), 1.0164250 secs] [Times: user=1.29 sys=0.00, real=1.02 secs]
50454.858: [Full GC (System) [PSYoungGen: 2912K->0K(476672K)] [PSOldGen: 175601K->137776K(1092288K)] 178513K->137776K(1568960K) [PSPermGen: 60627K->60627K(74368K)], 2.0082140 secs] [Times: user=2.09 sys=0.00, real=2.01 secs]
52186.496: [GC [PSYoungGen: 407104K->37312K(444416K)] 544880K->175088K(1536704K), 3.3705440 secs] [Times: user=3.93 sys=0.00, real=3.37 secs]
53919.975: [GC [PSYoungGen: 444416K->37536K(476608K)] 582192K->213032K(1568896K), 3.4242980 secs] [Times: user=4.09 sys=0.00, real=3.42 secs]
54056.872: [GC [PSYoungGen: 70113K->2880K(476480K)] 245609K->216320K(1568768K), 0.9691980 secs] [Times: user=1.19 sys=0.00, real=0.97 secs]
54057.842: [Full GC (System) [PSYoungGen: 2880K->0K(476480K)] [PSOldGen: 213440K->99561K(1092288K)] 216320K->99561K(1568768K) [PSPermGen: 60628K->60628K(72320K)], 2.2203320 secs] [Times: user=2.23 sys=0.01, real=2.22 secs]
55796.688: [GC [PSYoungGen: 406976K->37504K(476160K)] 506537K->137065K(1568448K), 3.2680080 secs]
< /code>

Обновление: < /strong> При проверке сообщений журнала ядра это Oom-Killer. Но все же почему система убивает процесс, не потому, что процесс съедает много системных ресурсов (память).

Подробнее здесь: https://stackoverflow.com/questions/675 ... -heap-dump
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»