Ich habe einen Server mit einem 3 GB JVM mit einem 750-Meg-Permgen-Speicherplatz. Selbst nachdem ich mehr Hardware in diese dumme Anwendung geworfen habe, bekomme ich immer noch den gelegentlichen Speicher-Heap-Dump. Ich muss herausfinden, was zur Zeit des Absturzes vor sich ging, aber ich habe ein Problem mit meinem Analysetool.Java-Heap-Dump-Analyse-Tools stürzen
Die JVM läuft auf AS/400-Hardware, was bedeutet, dass ich die IBM PowerPC-Version der JVM benötige. Da IBM natürlich IBM ist, änderten sie das Format der Speicherauszugsdatei von der Standardversion von Sun (Oracle) in die benutzerdefinierte IBM Version. Offensichtlich sind die einzigen Dump-Analyse-Tools, die es gibt, als Eclipse-Plugins gebaut worden, das Plugin hat ein IBM-Plugin, das es erlaubt, die benutzerdefinierte Dump-Datei von IBM zu lesen.
Das ist die Konfiguration, jetzt das Problem. Das absolut größte, das ich die JVM auf meinem Laptop ankurbeln kann, ist 4800 MB mit einer 4700 Megauge Permgen. Eclipse wird nicht mit höher gesetzt, ich vermute, weil das über 100% des verfügbaren Speichers meines Laptops dauert. Selbst bei all dem Platz, Eclipse gibt mir Heap-Dumps, die versuchen, die Datei zu analysieren.
Gibt es noch andere Analysetools, die keine JVM benötigen, die größer ist als die JVM, die ich analysieren möchte?
hier ist ein Protokolleintrag aus dem Eclipse
!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
Wie läuft es mit MAT? von innen ISA? Wenn ja, wie erhöhen Sie die -Xmx? (zB: wie können Sie sicher sein, dass es Wirkung zeigt?) –