Find JSRs
Submit this Search

Ad Banner

JSRs: Java Specification Requests
JSR 174: Monitoring and Management Specification for the JavaTM Virtual Machine

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1. Identification

Submitting Member: IBM and Sun Microsystems, Inc.

Name of Contact People: Flavio Bergamaschi & Mandy Chung

E-Mail Address:,

Telephone Number: +44 1962 815853, +1 408 276 7045

Fax Number: +44 1962 818999, +1 408 276 7700

Specification Lead: Flavio Bergamaschi

E-Mail Address:

Telephone Number: +44 1962 815853

Fax Number: +44 1962 818999

Initial Expert Group Membership:

Sun Microsystems, Inc.
other JavaTM Licensees
other Tools Vendors

Supporting this JSR:

Sun Microsystems, Inc.

Section 2: Request

2.1 Please describe the proposed Specification:

A specification for APIs for monitoring and management of the JavaTM virtual machine. These APIs will provide Java applications, system management tools and RAS-related tools with the ability to monitor the health of the Java virtual machine as well as manage certain run-time controls such as:

  • Health Indicators
    • Class load/unload
    • Memory allocation statistics
    • Garbage collection statistics
    • Monitor info & statistics
    • Thread info & statistics
    • Just-in-Time statistics
    • Object info (show/count all objects in the Java heap)
    • Underlying OS and platform info
    • etc.

  • Run-Time Control
    • Minimum heap size
    • Verbose GC on demand
    • Garbage collection control
    • Thread creation control
    • Just-in-Time compilation control
    • etc.

The APIs will be designed with the following characteristics:

  • Very low performance impact, even when events are being monitored
  • Restricted to low frequency events
  • Interface should be self describing (i.e. interface should not be described statically)
  • Mandatory and optional set of events and control values

These characteristics suggest the need for Java APIs to support self monitoring of Java applications as well as native interfaces to support tools requiring minimal perturbation of the system.

Support for existing system management standards such as JMX and CIM/WBEM will also be considered.

A new JavaTM Platform Profiling Architecture is being developed (JSR-163) which appears to have some functional overlap with the health indicators. If conflicting requirements do not preclude a single interface, one will be developed in concert with the JSR-163 Expert Group.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

Java 2 Standard Edition

2.3 What need of the Java community will be addressed by the proposed specification?

This specification is intended to provide the underlying support for JVMTM monitoring and management from within Java applications as well as remote access by system management applications and RAS-related tools.

2.4 Why isn't this need met by existing specifications?

The majority of the existing monitoring and management options and techniques are very limited, lack functionality, degrade performance, and are unreliable and non standard, leading to a multitude of disconnected solutions.

2.5 Please give a short description of the underlying technology or technologies:

See item 2.1 above.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

Not yet.

2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?


2.8 Are there any security issues that cannot be addressed by the current security model?


2.9 Are there any internationalization or localization issues?


2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?


2.11 Please describe the anticipated schedule for the development of this specification.

Inclusion in the J2SE Tiger release.

2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.

Primarily email communication. Teleconference and face to face meetings as required.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.


3.2 Explanation of how these items might be used as a starting point for the work.