java.lang.management
Class MemoryUsage

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.lang.management.MemoryUsage

public class MemoryUsage
extends Object sample code for java.lang.Object definition code for java.lang.Object

A MemoryUsage object represents a snapshot of memory usage. Instances of the MemoryUsage class are usually constructed by methods that are used to obtain memory usage information about individual memory pool of the Java virtual machine or the heap or non-heap memory of the Java virtual machine as a whole.

A MemoryUsage object contains four values:

Below is a picture showing an example of a memory pool:

        +----------------------------------------------+
        +////////////////           |                  +
        +////////////////           |                  +
        +----------------------------------------------+

        |--------|
           init
        |---------------|
               used
        |---------------------------|
                  committed 
        |----------------------------------------------|
                            max 
 

MXBean Mapping

MemoryUsage is mapped to a CompositeData sample code for javax.management.openmbean.CompositeData definition code for javax.management.openmbean.CompositeData with attributes as specified in the from sample code for java.lang.management.MemoryUsage.from(javax.management.openmbean.CompositeData) definition code for java.lang.management.MemoryUsage.from(javax.management.openmbean.CompositeData) method.

Since:
1.5

Constructor Summary
MemoryUsage sample code for java.lang.management.MemoryUsage.MemoryUsage(long, long, long, long) definition code for java.lang.management.MemoryUsage.MemoryUsage(long, long, long, long) (long init, long used, long committed, long max)
          Constructs a MemoryUsage object.
 
Method Summary
static MemoryUsage sample code for java.lang.management.MemoryUsage definition code for java.lang.management.MemoryUsage from sample code for java.lang.management.MemoryUsage.from(javax.management.openmbean.CompositeData) definition code for java.lang.management.MemoryUsage.from(javax.management.openmbean.CompositeData) (CompositeData sample code for javax.management.openmbean.CompositeData definition code for javax.management.openmbean.CompositeData  cd)
          Returns a MemoryUsage object represented by the given CompositeData.
 long getCommitted sample code for java.lang.management.MemoryUsage.getCommitted() definition code for java.lang.management.MemoryUsage.getCommitted() ()
          Returns the amount of memory in bytes that is committed for the Java virtual machine to use.
 long getInit sample code for java.lang.management.MemoryUsage.getInit() definition code for java.lang.management.MemoryUsage.getInit() ()
          Returns the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management.
 long getMax sample code for java.lang.management.MemoryUsage.getMax() definition code for java.lang.management.MemoryUsage.getMax() ()
          Returns the maximum amount of memory in bytes that can be used for memory management.
 long getUsed sample code for java.lang.management.MemoryUsage.getUsed() definition code for java.lang.management.MemoryUsage.getUsed() ()
          Returns the amount of used memory in bytes.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for java.lang.management.MemoryUsage.toString() definition code for java.lang.management.MemoryUsage.toString() ()
          Returns a descriptive representation of this memory usage.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

MemoryUsage sample code for java.lang.management.MemoryUsage(long, long, long, long) definition code for java.lang.management.MemoryUsage(long, long, long, long)

public MemoryUsage(long init,
                   long used,
                   long committed,
                   long max)
Constructs a MemoryUsage object.

Parameters:
init - the initial amount of memory in bytes that the Java virtual machine allocates; or -1 if undefined.
used - the amount of used memory in bytes.
committed - the amount of committed memory in bytes.
max - the maximum amount of memory in bytes that can be used; or -1 if undefined.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if
  • the value of init or max is negative but not -1; or
  • the value of used or committed is negative; or
  • used is greater than the value of committed; or
  • committed is greater than the value of max max if defined.
Method Detail

getInit sample code for java.lang.management.MemoryUsage.getInit() definition code for java.lang.management.MemoryUsage.getInit()

public long getInit()
Returns the amount of memory in bytes that the Java virtual machine initially requests from the operating system for memory management. This method returns -1 if the initial memory size is undefined.

Returns:
the initial size of memory in bytes; -1 if undefined.

getUsed sample code for java.lang.management.MemoryUsage.getUsed() definition code for java.lang.management.MemoryUsage.getUsed()

public long getUsed()
Returns the amount of used memory in bytes.

Returns:
the amount of used memory in bytes.

getCommitted sample code for java.lang.management.MemoryUsage.getCommitted() definition code for java.lang.management.MemoryUsage.getCommitted()

public long getCommitted()
Returns the amount of memory in bytes that is committed for the Java virtual machine to use. This amount of memory is guaranteed for the Java virtual machine to use.

Returns:
the amount of committed memory in bytes.

getMax sample code for java.lang.management.MemoryUsage.getMax() definition code for java.lang.management.MemoryUsage.getMax()

public long getMax()
Returns the maximum amount of memory in bytes that can be used for memory management. This method returns -1 if the maximum memory size is undefined.

This amount of memory is not guaranteed to be available for memory management if it is greater than the amount of committed memory. The Java virtual machine may fail to allocate memory even if the amount of used memory does not exceed this maximum size.

Returns:
the maximum amount of memory in bytes; -1 if undefined.

toString sample code for java.lang.management.MemoryUsage.toString() definition code for java.lang.management.MemoryUsage.toString()

public String sample code for java.lang.String definition code for java.lang.String  toString()
Returns a descriptive representation of this memory usage.

Overrides:
toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a string representation of the object.

from sample code for java.lang.management.MemoryUsage.from(javax.management.openmbean.CompositeData) definition code for java.lang.management.MemoryUsage.from(javax.management.openmbean.CompositeData)

public static MemoryUsage sample code for java.lang.management.MemoryUsage definition code for java.lang.management.MemoryUsage  from(CompositeData sample code for javax.management.openmbean.CompositeData definition code for javax.management.openmbean.CompositeData  cd)
Returns a MemoryUsage object represented by the given CompositeData. The given CompositeData must contain the following attributes:

Attribute Name Type
init java.lang.Long
used java.lang.Long
committed java.lang.Long
max java.lang.Long

Parameters:
cd - CompositeData representing a MemoryUsage
Returns:
a MemoryUsage object represented by cd if cd is not null; null otherwise.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if cd does not represent a MemoryUsage with the attributes described above.