JMP - Java Memory Profiler JMP logo
 
General
About
Installation
Licence
Changelog
Screenshot
Performance

Documentation
users_guide [ps]
users_guide [pdf]
users_guide [lyx]

Download
Source
Current version: 0.51.1
jmp.tar.gz

Other versions jmp-0.51.1.tar.gz
jmp-0.50.2.tar.gz
jmp/0.18, gtk/1.2 
jmp-0.18.tar.gz

Binaries
jmp.deb [0.48, i386]
jmp.deb [0.42, amd64]
jmp.deb [0.48, ppc]
jmp.dll [0.50.1]
gtk+/2.2.0 Win32

Old versions

Contacts
Robert Olofsson
robo@khelekore.org

  About

JMP is a profiler for java that can be used to trace objects usage and method timings. JMP uses the JVMPI interface to gather statistics and interact with the JVM. JMP uses a GTK+ interface to show the status.

Since jmp use jvmpi it only works with java/1.2 up to java/1.5. If you use java/6 you can not use jmp. Work has started on tijmp, a new profiler that uses the the tools interface (jvmti). See the tijmp page

JMP normally uses one window to show the classes in memory. Each class has summary information for number of instances and total bytes of used memory for all the instances.

JMP can perform heap analysis and has the ability to show which objects own (have references to) all the objects of a specified class. This is a great way to find memory leaks.

JMP also shows method timings and calls in another window. Several columns show time taken in the method, number of calls to each method, time taken in methods called.

JMP collects information about which method are called and from where, this information is used to build call graphs.

JMP interacts with the normal java threads and also uses one extra thread for GTK+ with a timer to systematically update the stats.

JMP is written in C, it is designed for speed.

It should now be possible to build and run jmp under windows.