Oracle® Java Micro Edition Embedded Client Developer's Guide Release 1.1 E20632-02 |
|
![]() Previous |
This chapter describes options for finding and diagnosing application memory leaks.
This chapter includes these topics:
The VM inspector is a collection of utilities that report virtual machine state, including memory-related state, during execution. To use the VM inspector, you must run an Oracle Java Micro Edition Embedded Client binary that was built with CVM_INSPECTOR=true
. To verify your build, run cvm
with this option: -XbuildOptions
.
cvmsh
is a command-line front end that sends VM inspector commands to a running cvm
process. Launch cvmsh
and cvm
as illustrated by the following simple example:
% cvm -cp testclasses.zip cvmsh
For a complete description of the VM inspector and cvmsh
, refer to:
http://wiki.java.net/twiki/bin/view/Mobileandembedded/PhoneMEAdvancedCVMSH
.
jhat
is a web-based Java heap analysis tool, which is described at http://download.oracle.com/javase/6/docs/technotes/tools/share/jhat.html
. To create the data for jhat
to display, run a command like this on the target device:
% bin/cvm -Xbootclasspath/a:lib/java_crw_demo.jar \ -agentlib:jvmtihprof=heap=dump,format=b -cp yourApp.jar yourMainMethod
Your application must be in the Jar file designated by yourApp.jar
. The command creates a heap dump in java.hprof.txt
. To display the heap with jhat
, copy java.hprof.txt
to your host, then run this command:
% jhat java.hprof
The jhat
command starts a web server on port 7000. View the data in a web browser with this URL: http://localhost:7000
, then drill down into the objects that were dumped.