jmp1
A java memory profiler.
Usage
java -Xrunjmp:
[OPTION1,OPTION2, ...]
MainClass
Overview
jmp is a Java memory profiler which is dynamically loaded by executing the java program with the -Xrunjmp option. Currently the kaffe virtual machine and the non-free JDK/JREs are supporting the profiling extensions.
Options
help-
print available options
nogui-
run jmp without an user interface
dumpdir=<directory>-
specifies a directory for writing the data and heap files
dumptimer=<seconds>-
specifies to dump the data at a fixed intervall
filter=[[+-][filtertype:]][name]-
adds an initial filter for name. It is possible to give several filter to include more than one package. If you want several filters you have to write them as multiple options. Use + for and inclusive filter, use - for an exclude filter. + is the default and may be left out.
The available filtertypes are class, package, recursive and all. The name is either the class name (for filtertype class), a package name (for filtertype package and recursive) or any free text (for the filtertype all). Filters apply in the ordering given on the command line.
Example: filter=package1,filter=some.package,filter=-package:some.package.sub
threadtime-
use thread time instead of absolute time
noobjects-
turn object profiling off
nomethods-
turn method profiling off
nomonitors-
turn monitor profiling off
allocfollowsfilter-
group object allocations into filtered methods
Examples
Examples of how jmp can be run for different profiling tasks.
java -Xrunjmp:noobjects,nomethods,nomonitors my.MainClass
This will start jmp with a minimum of tracing. This is very useful if you have an initialization that takes much time. Once your application has reached a suitable state for profiling you enable the profiling you need.
java -Xrunjmp:noobjects,nomonitors,filter=my my.MainClass
This will start jmp with only method tracing on. An initial filter for classes in my and sub packages is also set.
java -Xrunjmp:nomethods,nomonitors,filter=my my.MainClass
This will start jmp with only object tracing on. Filter as above.
java -Xrunjmp:nomonitors,filter=my my.MainClass
This will start jmp with object and method tracing. Filter as above.