Could not parse big heap file [message #11369] |
Fri, 17 July 2009 13:36  |
Eclipse User |
|
|
|
I have big heap dump file, nearly 3G. And I would like to use MAT to find
memory issue.
In XP window:
I downloaded MemoryAnalyzer-Incubation-0.8.0.20090617-win32.win32.x86.zip
and try to parse the heap file.
But eclipse gives me out of memory issue due to big heap file.
I can only increase Xmx to 1400m in MemoryAnalyzer.ini. If over 1400m, I
got
popup window indicating JVM terminated. Exit code=-1
I bet window eclipse can only support less than 1400m memory.
Then I try Unix version:
It gave following error when I try to use ParseHeapDump.sh <heapdumpfile>
!ENTRY org.eclipse.osgi 4 0 2009-07-17 12:17:06.169
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Application "org.eclipse.mat.api.parse" could
not be found in the registry. The applications available are:
org.eclipse.ant.core.antRunner, org.eclipse.equinox.app.error,
org.eclipse.equinox.p2.artifact.repository.mirrorApplication ,
org.eclipse.equinox.p2.metadata.repository.mirrorApplication ,
org.eclipse.help.base.infocenterApplication,
org.eclipse.help.base.helpApplication, org.eclipse.help.base.indexTool,
org.eclipse.ui.ide.workbench, org.eclipse.update.core.standaloneUpdate,
org.eclipse.update.core.siteOptimizer.
at
org.eclipse.equinox.internal.app.EclipseAppContainer.startDe faultApp(EclipseAppContainer.java:242)
at
org.eclipse.equinox.internal.app.MainApplicationLauncher.run (MainApplicationLauncher.java:29)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
|
|
|
Re: Could not parse big heap file [message #11407 is a reply to message #11369] |
Sun, 19 July 2009 11:45  |
Eclipse User |
|
|
|
Hi Michael,
this number of objects (i.e. the size of the object graph) determines how
much memory MAT needs. On 32bit machines this can be a problem. The good
news, once you parsed the file on a bigger box, you can still analyze it
on the smaller 32bit box.
> Then I try Unix version:
> java.lang.RuntimeException: Application "org.eclipse.mat.api.parse" could
> not be found in the registry. The applications available are:
This error tells that the parsing application has not been found. The
application is inside the "org.eclipse.mat.api" bundle. Look for the
logging messages before this one. It should give you a reason why the
bundle has not been activated / resolved. Common problems are: installed
via unzip into Eclipse (run with -clean option), MAT requires Java5 but it
is run with a Java4, the native parts have not the right bitsize (e.g.
running 32bit MAT version on a 64bit Java).
To run MAT on 64bit using a 32bit download, follow these instructions (you
have to updated the version numbers!):
http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ#How_to_ run_on_64bit_VM_while_the_native_SWT_are_32bit
|
|
|
Powered by
FUDForum. Page generated in 0.04172 seconds