У меня есть сервер, на котором запущена виртуальная виртуальная машина 3 ГБ с пространством 750 МБ permgen.Даже после добавления большего количества оборудования в это глупое приложение, я все еще получаю время от времени дамп кучи памяти.Мне нужно выяснить, что происходило во время сбоя, но у меня возникла проблема с моим инструментом анализа.
JVM работает на оборудовании AS / 400, что означает, что мне нужна версия JVM для IBM PowerPC.,Разумеется, IBM, будучи IBM, они изменили формат файла дампа со стандартной версии Sun (Oracle) на собственную версию IBM.По-видимому, единственные инструменты анализа дампов построены как плагины Eclipse, у этого плагина есть плагин IBM, который позволяет ему читать пользовательский файл дампа IBM.
В этом и заключается конфигурация, теперь проблема.Абсолютно самое большое, что я могу запустить JVM на моем ноутбуке, - это 4800 мегабайт и 4700 мегапикселей.Я подозреваю, что Eclipse не будет работать с установленным значением выше этого уровня, поскольку он занимает более 100% доступной памяти моего ноутбука.Даже со всем этим пространством Eclipse дает мне дампы кучи, пытаясь проанализировать файл.
Существуют ли какие-либо другие инструменты анализа, которые не требуют, чтобы у меня была JVM больше, чем JVM, которую я пытаюсь проанализировать?
вот запись в журнале, откуда происходит сбой затмения
!ENTRY org.eclipse.core.jobs 4 2 2012-04-02 12:08:10.540
!MESSAGE An internal error occurred during: "Parsing heap dump from 'C:\Users\slepecw\Code\Larry-Heap-Dumps\20110612\heapdump.20110612.165113.17755.0003.phd'".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:515)
at java.lang.StringBuilder.append(StringBuilder.java:189)
at org.apache.commons.io.output.StringBuilderWriter.write(StringBuilderWriter.java:138)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1365)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:1340)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:1287)
at org.apache.commons.io.IOUtils.toString(IOUtils.java:502)
at org.eclipse.wb.internal.core.editor.describer.JavaSourceUiDescriber.describe(JavaSourceUiDescriber.java:51)
at org.eclipse.core.internal.content.ContentTypeCatalog.describe(ContentTypeCatalog.java:218)
at org.eclipse.core.internal.content.ContentTypeCatalog.collectMatchingByContents(ContentTypeCatalog.java:190)
at org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:401)
at org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:450)
at org.eclipse.core.internal.content.ContentTypeCatalog.findContentTypesFor(ContentTypeCatalog.java:298)
at org.eclipse.core.internal.content.ContentTypeMatcher.findContentTypesFor(ContentTypeMatcher.java:57)
at org.eclipse.mat.dtfj.DTFJIndexBuilder.getDynamicDTFJDump(DTFJIndexBuilder.java:7940)
at org.eclipse.mat.dtfj.DTFJIndexBuilder.getUncachedDump(DTFJIndexBuilder.java:7862)
at org.eclipse.mat.dtfj.DTFJIndexBuilder.getDump(DTFJIndexBuilder.java:7675)
at org.eclipse.mat.dtfj.DTFJIndexBuilder.fill(DTFJIndexBuilder.java:579)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:203)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:114)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:145)
at org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDumpJob.java:83)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SESSION 2012-04-02 12:39:07.107 -----------------------------------------------
eclipse.buildId=M20110909-1335
java.version=1.6.0_30
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product