PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CPU, Arbeitsspeicher, ... abfragen



Xerxes
19-06-2007, 10:21
Ich schreibe grad eine Experimentierumgebung, die die Effizienz verschiedener Lösungsverfahren für ein gewisses Problem untersuchen soll. Wegen der besseren Vergleichbarkeit will ich zu den Laufzeitangaben auch die CPU(-Geschwindigkeit/-Kerne), den Arbeitsspeicher des Systems etc. mit angeben.

Gibts da in Java irgendwelche Möglichkeiten? Hatte ja gehofft, dass ich das mit System.getProperties() raus kriege, aber da ist das nicht mit dabei ...

Herr Google ist da keine große Hilfe bei - selbst mit sieben gleichzeitigen Suchbegriffen gibt es >20 seiten mit nur müll ... *g*

Waxolunist
19-06-2007, 12:14
Verwende einen JNI-Aufruf zu einem API oder verwende Runtime.exec zum Aufruf eines externen Programms. Unter Windows heißt das systeminfo.exe unter anderen Betriebssystemen sind das eher mehrere kleinere Programme. Aber es ist eben nicht betriebssystemunabhängig.

mamue
20-06-2007, 07:32
Unter Linux könntest Du auch versuchen, die Werte direkt aus dem proc-Filesystem auszulesen. ABer wie Waxolunist schon sagte, ist das natürlich nicht mehr betriebssystemunabhängig.

mamue

Xerxes
20-06-2007, 12:31
ja, hab ich mir schon gedacht, dass das dann nicht mehr os-abhängig ist.
aber wenn man mal bissel gui-gestaltung mit java gemacht hat, merkt man eh, wie "unabhängig" das ist ... (ich sag nur rechte-maus-taste-trigger und menü-leisten unter mac os oder linux ... *g*).
aber da das tool eh erstmal nur unter win laufen soll, geht das ja. und sont bau ich eben nen win/lin/mac switch ein, der das macht.
also danke erstmal :-)

Xerxes
02-07-2007, 17:35
ich hab mir systeminfo unter win jetzt mal angeschaut. ist ja schonmal schön, dass man sich die ausgabe auch als csv geben lassen kann. hab dazu aber noch zwei fragen:
- sind die anzahl der datensätze in jeder windows-version gleich? also ist z.b. das feld für den arbeitsspeicher immer an 23. stelle?
- als prozessor wird mir "1 Prozessor(en) installiert.,[01]: x64 Family 6 Model 15 Stepping 6 GenuineIntel ~2000 MHz" ausgegeben, bei den Systeminformationen, die man über einen Rechtsklick auf Computer/Arbeitsplatz erhält, steht aber schön Intel Core2 T7200 - wie komme ich per kommandozeile zu dieser Information?

krabat
13-07-2007, 23:24
Schau dir mal java.lang.management.* an, da solltest du alles finden (ab 1.5). Falls du das JDK von Sun verwendest, reicht vielleicht ja auch schon das Tool jconsole für deine Zwecke ("bin/jconsole").