Package weka.core
Class Memory
- java.lang.Object
-
- weka.core.Memory
-
- All Implemented Interfaces:
RevisionHandler
public class Memory extends java.lang.Object implements RevisionHandler
A little helper class for Memory management. The memory management can be disabled by using the setEnabled(boolean) method.- Version:
- $Revision: 9487 $
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
setEnabled(boolean)
-
-
Field Summary
Fields Modifier and Type Field Description static long
LOW_MEMORY_MINIMUM
static long
MAX_SLEEP_TIME
static long
OUT_OF_MEMORY_THRESHOLD
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getCurrent()
returns the currently used size of the JVM heap, obtains a fresh MemoryUsage object to do so.long
getInitial()
returns the initial size of the JVM heap, obtains a fresh MemoryUsage object to do so.long
getMax()
returns the maximum size of the JVM heap, obtains a fresh MemoryUsage object to do so.java.lang.String
getRevision()
Returns the revision string.boolean
getUseGUI()
whether to display a dialog in case of a problem (= TRUE) or just print on stderr (= FALSE)boolean
isEnabled()
returns whether the memory management is enabledboolean
isOutOfMemory()
checks if there's still enough memory left by checking whether there is still a 50MB margin between getUsed() and getMax().static void
main(java.lang.String[] args)
prints only some statisticsboolean
memoryIsLow()
Checks to see if memory is running low.void
setEnabled(boolean value)
sets whether the memory management is enabledboolean
showMemoryIsLow()
Prints a warning message if memoryIsLow (and if GUI is present a dialog).void
showOutOfMemory()
prints an error message if OutOfMemory (and if GUI is present a dialog), otherwise nothing happens.void
stopThreads()
stops all the current threads, to make a restart possiblestatic double
toMegaByte(long bytes)
returns the amount of bytes as MB
-
-
-
Field Detail
-
OUT_OF_MEMORY_THRESHOLD
public static final long OUT_OF_MEMORY_THRESHOLD
- See Also:
- Constant Field Values
-
LOW_MEMORY_MINIMUM
public static final long LOW_MEMORY_MINIMUM
- See Also:
- Constant Field Values
-
MAX_SLEEP_TIME
public static final long MAX_SLEEP_TIME
- See Also:
- Constant Field Values
-
-
Method Detail
-
isEnabled
public boolean isEnabled()
returns whether the memory management is enabled- Returns:
- true if enabled
-
setEnabled
public void setEnabled(boolean value)
sets whether the memory management is enabled- Parameters:
value
- true if the management should be enabled
-
getUseGUI
public boolean getUseGUI()
whether to display a dialog in case of a problem (= TRUE) or just print on stderr (= FALSE)- Returns:
- true if the GUI is used
-
getInitial
public long getInitial()
returns the initial size of the JVM heap, obtains a fresh MemoryUsage object to do so.- Returns:
- the initial size in bytes
-
getCurrent
public long getCurrent()
returns the currently used size of the JVM heap, obtains a fresh MemoryUsage object to do so.- Returns:
- the used size in bytes
-
getMax
public long getMax()
returns the maximum size of the JVM heap, obtains a fresh MemoryUsage object to do so.- Returns:
- the maximum size in bytes
-
isOutOfMemory
public boolean isOutOfMemory()
checks if there's still enough memory left by checking whether there is still a 50MB margin between getUsed() and getMax(). if ENABLED is true, then false is returned always. updates the MemoryUsage variable before checking.- Returns:
- true if out of memory (only if management enabled, otherwise always false)
-
memoryIsLow
public boolean memoryIsLow()
Checks to see if memory is running low. Low is defined as available memory less than 20% of max memory.- Returns:
- true if memory is running low
-
toMegaByte
public static double toMegaByte(long bytes)
returns the amount of bytes as MB- Returns:
- the MB amount
-
showOutOfMemory
public void showOutOfMemory()
prints an error message if OutOfMemory (and if GUI is present a dialog), otherwise nothing happens. isOutOfMemory() has to be called beforehand, since it sets all the memory parameters.- See Also:
isOutOfMemory()
,m_Enabled
-
showMemoryIsLow
public boolean showMemoryIsLow()
Prints a warning message if memoryIsLow (and if GUI is present a dialog).- Returns:
- true if user opts to continue, disabled or GUI is not present.
-
stopThreads
public void stopThreads()
stops all the current threads, to make a restart possible
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
prints only some statistics- Parameters:
args
- the commandline arguments - ignored
-
-