Jump to content
Tuts 4 You

JavaTM Virtual Machine Tool Interface (JVM TI)


sirp

Recommended Posts

JavaTM Virtual Machine Tool Interface (JVM TI)

The JVMTM tool interface (JVM TI) is a native programming interface for use by tools. It provides both a way to inspect the state and to

control the execution of applications running in the JavaTM virtual machine (JVM). JVM TI supports the full breadth of tools that need

access to JVM state, including but not limited to: profiling, debugging, monitoring, thread analysis, and coverage analysis tools.

Note: JVM TI was introduced at JDKTM 5.0. JVM TI replaces the Java Virtual Machine Profiler Interface (JVMPI) and the Java Virtual Machine

Debug Interface (JVMDI) which, as of JDK 6, are no longer provided.

JVM TI Reference

* See the JVM TI Reference for overview, API reference, and usage information.

API Enhancements

* See the API Enhancements in JDK 6 - An annotated list of API changes between the 5.0 and 6 releases.

More Information

* Java Virtual Machines - features, command-line options, and additional information.

* Java Native Interface - the interface which JVM TI extends.

* java.lang.instrument package - a Java programming language alternate to JVM TI if only the instrumentation

functionality of JVM TI is used.

* As used on this web site, the terms "Java Virtual Machine" or "JVM" mean a virtual machine for the Java

platform.

http://download.oracle.com/javase/6/docs/technotes/guides/jvmti/index.html

http://java.sun.com/developer/technicalArticles/Programming/jvmpitransition/

http://download.oracle.com/javase/1.4.2/docs/guide/jvmpi/jvmpi.html

Where has JVMPI gone?

http://blogs.sun.com/kto/entry/jvmpi#comments

Have you seen this error before?

FATAL ERROR: JVMPI, an experimental interface, is no longer supported.

Please use the supported interface: the JVM Tool Interface (JVM TI).

For information on temporary workarounds contact: jvmpi_eol@sun.com

For a long time now, since we released JDK 1.5, we have been warning people that the VM profiling interface JVMPI is going away. Starting with the JDK 6 update 3 release (JDK6u3), it is gone for good.

If you really need JVMPI, your best bet is to use a JDK 1.5 or older release, and also find out about transitioning to JVM TI. More often than not, you have become dependent on a tool that uses JVMPI, in which case you should try and upgrade that tool to a version that uses JVM TI instead. But if you have written your own JVMPI code, see the JVMPI transition article at http://java.sun.com/developer/technicalArticles/Programming/jvmpitransition/ for help in transitioning to JVM TI.

NOTE: Getting this message indicates that JVMPI has been requested of the JVM. A request for JVMPI must be made prior to JVM initialization and regardless of whether JVMPI is eventually used at runtime, just the request for it will have a negative performance impact on your Java application. In most situations, JVMPI should never be requested unless some kind of performance work is being done and slower performance is considered acceptable. JVM TI does not have many of the JVMPI limitations.

Edited by sirp
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...