public class MemoryMonitor
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
MemoryMonitor.PeakMemoryMonitor
This class offers a simple way to track the peak memory used by a program.
|
Modifier and Type | Field and Description |
---|---|
protected int |
freeMem |
protected long |
lastPoll |
static int |
MAX_SWAPS |
protected long |
pollEvery |
protected java.lang.Runtime |
r |
protected int |
swaps |
protected int |
usedSwap |
Constructor and Description |
---|
MemoryMonitor() |
MemoryMonitor(long millis) |
Modifier and Type | Method and Description |
---|---|
int |
getMaxAvailableMemory() |
int |
getMaxAvailableMemory(boolean accurate) |
int |
getMaxMemory() |
int |
getSystemFreeMemory(boolean accurate) |
double |
getSystemSwapsPerSec() |
int |
getSystemUsedSwap() |
int |
getUsedMemory() |
int |
getUsedMemory(boolean accurate) |
static int |
getUsedMemoryStatic() |
static int |
getUsedMemoryStatic(java.lang.Runtime r) |
static java.lang.String |
getUsedMemoryString() |
static void |
main(java.lang.String[] args) |
protected static java.util.ArrayList<java.lang.String> |
parseFields(java.io.BufferedReader br,
java.lang.String splitStr,
int[] lineNums,
int[] positions) |
void |
pollAtMostEvery(long millis) |
void |
pollFree(boolean force) |
void |
pollVMstat(boolean force) |
boolean |
systemIsSwapping() |
java.lang.String |
toString() |
public static final int MAX_SWAPS
protected long lastPoll
protected long pollEvery
protected int freeMem
protected int usedSwap
protected int swaps
protected java.lang.Runtime r
public MemoryMonitor()
public MemoryMonitor(long millis)
public void pollAtMostEvery(long millis)
public int getMaxMemory()
public int getMaxAvailableMemory()
public int getMaxAvailableMemory(boolean accurate)
public int getUsedMemory()
public int getUsedMemory(boolean accurate)
public static int getUsedMemoryStatic()
public static int getUsedMemoryStatic(java.lang.Runtime r)
public static java.lang.String getUsedMemoryString()
public int getSystemFreeMemory(boolean accurate)
public int getSystemUsedSwap()
public double getSystemSwapsPerSec()
protected static java.util.ArrayList<java.lang.String> parseFields(java.io.BufferedReader br, java.lang.String splitStr, int[] lineNums, int[] positions) throws java.io.IOException
java.io.IOException
public void pollFree(boolean force)
public void pollVMstat(boolean force)
public boolean systemIsSwapping()
public java.lang.String toString()
toString
in class java.lang.Object
public static void main(java.lang.String[] args) throws java.lang.InterruptedException
java.lang.InterruptedException