Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Memory Analyzer (MAT) » How to pass d64 Parameter to the MAT-JVM
How to pass d64 Parameter to the MAT-JVM [message #516939] Thu, 25 February 2010 09:47 Go to next message
Rolf  is currently offline Rolf
Messages: 2
Registered: February 2010
Junior Member
Hello,

I am currently trying to load a 15GB heap dump into the memory analyzer. This indeed takes a lot of memory to do so. I am using the standalone (RCP) version of MAT.

But when passing the Xmx15g parameter via vmargs, I only get
> Invalid maximum heap size: -Xmx4g
> The specified size exceeds the maximum representable size.

It seems the JVM of the MAT is running in 32bit mode. To get it to 64bit I normally would pass a "-d64" as a parameter, but all tries to do so with the MAT failed, the JVM seems to stay 32bit. Java itself is 64bit capable of course, the same jdk dropped this 15GB dump, and "java -d64 -version" responds a 64bit-Server as expected.

So how can I force the MAT to run on 64bit as well?

Thanks!
Rolf



Re: How to pass d64 Parameter to the MAT-JVM [message #517040 is a reply to message #516939] Thu, 25 February 2010 16:09 Go to previous messageGo to next message
Andreas Buchen is currently offline Andreas Buchen
Messages: 113
Registered: July 2009
Senior Member
Hi Rolf,

strange....


Have you tried using the manual command line to parse the heap dump? Here all parameters should just work as you typically provide them.

See http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ#How_to_ run_on_64bit_VM_while_the_native_SWT_are_32bit


Otherwise, the arguments in the "MemoryAnalyzer.ini" should be passed to the VM, so I would have expected that

---8<------
-vm
/path/to/vm/bin
-d64
---8<------

should have worked.


Let us know if that (and what) solves your problem!

Andreas.
Re: How to pass d64 Parameter to the MAT-JVM [message #517147 is a reply to message #516939] Fri, 26 February 2010 06:58 Go to previous message
Rolf  is currently offline Rolf
Messages: 2
Registered: February 2010
Junior Member
At least I got it running in the command-line mode as described in the FAQ, including the "-d64" parameter directly passed to the JVM. Unfortunately the Heapdump seems to be corrupted, after some errors on the console it creates some HTML reports, but it seems those cover only a few megabytes of the dump.

Passing the -d64 parameter to the MemoryAnalyzer binary or via the ini file does not work - all Xmx sizes >= 4g fail anyway.

Anyway, I also tried modifying the command line to launch the GUI-mode, but I did not get it working. I think it has to look something like this:

/path/to/jdk/bin/java -d64 -Xmx15g -XX:-UseGCOverheadLimit -D osgi.bundles=org.eclipse.equinox.common@2:sta
rt,org.eclipse.update.configurator@3:start,org.eclipse.core.runtime@start -jar plugins/org.eclipse.equinox.launcher_1.0.200.v20090520
.jar -consoleLog -application osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:start,org.eclipse.cor
e.runtime@start

But all tries finished with similar messages like this one:

Warning: No xauth data; using fake authentication data for X11 forwarding.
!SESSION 2010-02-26 07:56:26.020 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=solaris, ARCH=sparcv9, WS=gtk, NL=en
Framework arguments: -application org.eclipse.mat.ui.rcp.application
Command-line arguments: -consoleLog -application org.eclipse.mat.ui.rcp.application

!ENTRY org.eclipse.osgi 4 0 2010-02-26 07:56:30.372
!MESSAGE An error occurred while automatically activating bundle org.eclipse.ui.workbench (108).
!STACK 0
org.osgi.framework.BundleException: The activator org.eclipse.ui.internal.WorkbenchPlugin for bundle org.eclipse.ui.workbench is invalid
at org.eclipse.osgi.framework.internal.core.AbstractBundle.load BundleActivator(AbstractBundle.java:157)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.s tart(BundleContextImpl.java:750)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWor ker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.star t(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAct ion.java:408)
[...]

Since the heapdump seems to be corrupted anyway, I will let it rest by now, but for future usage it would still be useful to get it running in 64bit mode.

Best regards,
Rolf
Previous Topic:MAT library API
Next Topic:class loader held only by finalzation queue ??
Goto Forum:
  


Current Time: Sun Apr 20 03:00:40 EDT 2014

Powered by FUDForum. Page generated in 0.03258 seconds