public class MemoryUsage extends Object
Retains information on the usage of a particular memory pool, or heap/non-heap memory as a whole. Memory usage is represented by four values (all in bytes):
MemoryMXBean
,
MemoryPoolMXBean
Constructor and Description |
---|
MemoryUsage(long init,
long used,
long committed,
long maximum)
Constructs a new
MemoryUsage object with
the specified allocation levels. |
Modifier and Type | Method and Description |
---|---|
static MemoryUsage |
from(CompositeData data)
Returns a
MemoryUsage instance using the values
given in the supplied
CompositeData object. |
long |
getCommitted()
Returns the amount of memory committed for use by this
memory pool (in bytes).
|
long |
getInit()
Returns the initial amount of memory allocated to the
pool (in bytes).
|
long |
getMax()
Returns the maximum amount of memory available for this
pool (in bytes).
|
long |
getUsed()
Returns the amount of memory used (in bytes).
|
String |
toString()
Returns a
String representation of
this MemoryUsage object. |
public MemoryUsage(long init, long used, long committed, long maximum)
MemoryUsage
object with
the specified allocation levels.init
- the initial amount of memory allocated,
or -1 if this value is undefined. Must
be >= -1.used
- the amount of memory used. Must be >= 0,
and <= committed.committed
- the amount of memory committed for use
at present. Must be >= 0 and <=
maximum (if defined).maximum
- the maximum amount of memory that may be
used, or -1 if this value is undefined.
Must be >= -1.IllegalArgumentException
- if the values break any
of the limits specified
above.public static MemoryUsage from(CompositeData data)
Returns a MemoryUsage
instance using the values
given in the supplied
CompositeData
object.
The composite data instance should contain the following
attributes:
All should have the type, java.lang.Long
.
data
- the composite data structure to take values from.null
if the data structure was also null
.IllegalArgumentException
- if the composite data structure
does not match the structure
outlined above, or the values
are invalid.public long getCommitted()
public long getInit()
public long getMax()
public long getUsed()
public String toString()
String
representation of
this MemoryUsage
object. This takes the form
java.lang.management.MemoryUsage[init=i, used=u,
committed=c, maximum=m]
, where i
is the initial level, u
is the used level,
c
is the committed level and m
is the maximum level.toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)