Systeminformationen auslesen

WhiteDevilEE

Grünschnabel
Hallo alle zusammen,
entweder ich suche nach den Falschen Dingen, oder es gibt dazu noch kein Eintrag im Forum.

Und zwar geht es sich um folgendes:
Ich muss ein Programm in Java schreiben, welches mir Systeminformationen auslem kann.
Dazu gehören:
- RAM (nur der maximale ram)
- HDD auslastung (maximal und freier speicher)

Über das System.property() habe ich die sachen wie Os,Os-Version und OS-Architektur bereits rausgefunden, aber halt RAM und HDD nicht.

Zunächst sollten diese Eigenschaften nur für Windows gelten, aber später auch für Linux (Suse)
Aussehen könnte das ganze wie folgt:
Code:
if(System.getProperty("os.name") == "Windows"){
//DO SOMETHING
}else if(System.getProperty("os.name") == "Linux"){
//DO SOMETHING
}
Sorry für das schlechte "Beispiel" ich hoffe, mir kann da jemand weiterhelfen.
 
Erstmal danke, für die schnelle Hilfe.
Mit den Festplatten hat wunderbar geklappt, jedoch mit dem RAM leider nicht.
Naja, ich schätze mal, aus der VM raus auf den RAM drauf zuzugreifen ist ehr unmöglich.
 
Erste Anwort im Link:
Die JVM bekommt aber nicht 100% der Resourcen.
Die Methoden leifern das, was die VM bekommen kann.
edit: Oder nur das, was die VM gerade hat.
Laut dieser Methode müsste ich ca. 5MB RAM haben.

Zweite Antwort:
Ist die OperatingSystemMXBean, die oben schon erwähnt ist.
 
Erste Anwort im Link:
Die JVM bekommt aber nicht 100% der Resourcen.
Die Methoden leifern das, was die VM bekommen kann.
edit: Oder nur das, was die VM gerade hat.
Laut dieser Methode müsste ich ca. 5MB RAM haben.
Es steht doch da was die Methoden zurückgeben. Niemand hat behauptet das es die Größe des Systemspeichers ist.
Zweite Antwort:
Ist die OperatingSystemMXBean, die oben schon erwähnt ist.
Dritte Antwort... ? Achte Antwort...

Übrigens hat mich die Suche ca. 3 Sekunden gekostet...

Gruß
 
Zum Code von sheel: Das funktioniert so wahrscheinlich nur unter der JVM von Sun/Oracle. OpenJDK unterstützt das nicht, daher solltest du unbedingt Exceptions abfangen!

Zur Not: mit nativen Programmen (d.h. mit Verlust der Platformunabhängigkeit) ist das schon möglich. Stellt sich nur die Frage, ob du das auch möchtest…
Unter Linux gibt es dafür z.B. den Befehl "free", den du über die Kommandozeile ausführen kannst.
 
Es steht doch da was die Methoden zurückgeben. Niemand hat behauptet das es die Größe des Systemspeichers ist.
Aber genau das sucht WhiteDevilEE doch?
Egal, stimmt ja beides, will mich nicht streiten. Das hier rutscht sowieso ins OT ab.

Übrigens hat mich die Suche ca. 3 Sekunden gekostet...
Auf den Fragesteller oder mich bezogen?
Brauche es selbst ja nicht und hab es auch nur gegoogelt.
 
Also, ich danke jetzt erstmal allen, für die hilfe hier.
Aber, leider muss ich sagen, dass ich wirklich vor hatte, den System RAM auszulesen.
Bzw. herauszufinden, wieviel ARbeitsspeicher eingebaut ist.
Aber ich hab mitlerweile auch schon eingesehen, dass das nicht möglich ist.
von daher:

ERLEDIGT!
 
Zurück