How to use jmp (Java Memory Profiler) on Windows
I spent way too long figuring this out, so I figured I might as well spread the knowledge.
I’m developing a Java application for school using the Eclipse IDE. We’re having some memory issues, and the application is chugging on slower computers. So I wanted to use the Java Memory Profiler, but, it turns out it’s a little bit hard to get to work on Windows, and walk-throughs out there are not very good on the subject.
First, download the jmp dll. Put it into C:\Windows, and if that doesn’t work on the following steps, put it in the directory with the application as well.
This is the part that tripped me up. I wasn’t actually able to get jmp working with Eclipse, but I did get it working with normal Java. For this, you’re going to need to install Cygwin. Luckily, there are lots of good Cygwin tutorials out there. You’ll also need GTK+. It should be a simple download and install.
Open up Cygwin and change to the directory that contains the Java application you want to profile. Let’s say it’s called Application. Run this just as a test, to make sure that Java is working properly:
java Application
If that works, it’s time to try jmp. Here we go!
java -Xrunjmp Application
That’s really all there is to it. Too bad it wasn’t really stated succintly anywhere else on the web. You can also run the following command to get a list of jmp options:
java -Xrunjmp:help
June 4th, 2008 at 03:58
how to analyse the heapdump generated by JMP in mentioned location
August 13th, 2008 at 11:53
can’t see why you need Cygwin if you’re just calling Java..why can’t you just use the Command Prompt? (or am I missing something?)
August 13th, 2008 at 17:28
pecks: I don’t know, it’s been so long that I did this that I forget the details. I’m going to guess it might be because jmp uses GTK for its GUI, although Pidgin and GIMP do that too without having to run from a special shell. Go ahead and try it in a DOS prompt and let us know how it works out?