de.bsvrz.sys.startstopp.prozessvew
Class Memory

java.lang.Object
  extended by de.bsvrz.sys.startstopp.prozessvew.Memory

public class Memory
extends java.lang.Object

Klasse die Methoden zur Verfügung stellt die es ermöglichen den freien Hauptspeicher zu ermitteln. Da Java von Natur aus keine Möglichkeit hat diese Informationen auszulesen muss der "Umweg" über entsprechende Betriebssystem Aufrufe genommen werden. Das Bestimmen des freien Speichers wird je nach Betriebssystem unterschiedlich gehandhabt:
- UNIX/Linux: Aufruf des Befehls "vmstat" und auswerten der Spalte "free"
- Windows: derzeit nicht implementiert - Mac: derzeit nicht implementiert

Author:
Dambach Werke GmbH

Field Summary
private static de.bsvrz.sys.funclib.debug.Debug logger
          Debug
 
Constructor Summary
Memory()
          Parameterloser Konstruktor der Klasse
 
Method Summary
private  long auswerteVmstatLinux(java.util.List<java.lang.String> ausgabeVmstat)
          Methode wertet die Ausgaben des Linux Aufrufs "vmstat" aus und bestimmt daraus den aktuellen freien Speicher.
private  long auswerteVmstatUnix(java.util.List<java.lang.String> ausgabeVmstat)
          Methode wertet die Ausgaben des Unix Aufrufs "vmstat" aus und bestimmt daraus den aktuellen freien Speicher.
 long getFreierSpeicher()
          Methode liefert den freien Speicher zurück
private  long myLong(java.lang.String buffer)
          Hilfsmethode zum Umwandeln eines Strings in einen Long-Wert
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final de.bsvrz.sys.funclib.debug.Debug logger
Debug

Constructor Detail

Memory

public Memory()
Parameterloser Konstruktor der Klasse

Method Detail

getFreierSpeicher

public long getFreierSpeicher()
Methode liefert den freien Speicher zurück

Returns:
freier Speicher in Bytes, im Fehlerfall -1

auswerteVmstatUnix

private long auswerteVmstatUnix(java.util.List<java.lang.String> ausgabeVmstat)
Methode wertet die Ausgaben des Unix Aufrufs "vmstat" aus und bestimmt daraus den aktuellen freien Speicher. Hierzu wird die Spalte "free" der Ausgabe ausgewertet. Berücksichtigt wird dabei ob es sich bei der Ausgabe um einen Wert in Pages (Unix) handelt.

Parameters:
ausgabeVmstat - Ausgabe eines Unix Aufrufs "vmstat"
Returns:
Anzahl freier Bytes, im Fehlerfall -1

auswerteVmstatLinux

private long auswerteVmstatLinux(java.util.List<java.lang.String> ausgabeVmstat)
Methode wertet die Ausgaben des Linux Aufrufs "vmstat" aus und bestimmt daraus den aktuellen freien Speicher. Hierzu wird die Spalte "free" der Ausgabe ausgewertet. Berücksichtigt wird dabei ob es sich bei der Ausgabe um einen Wert in kB (Linux) handelt.

Parameters:
ausgabeVmstat - Ausgabe eines Linux Aufrufs "vmstat"
Returns:
Anzahl freier Bytes, im Fehlerfall -1

myLong

private long myLong(java.lang.String buffer)
Hilfsmethode zum Umwandeln eines Strings in einen Long-Wert

Parameters:
buffer -
Returns:
umgewandelter Long Wert