Ist es in Java möglich, die gesamte verfügbare CPU-Geschwindigkeit sowie den gesamten Systemspeicher zu identifizieren? Die Geschwindigkeit der Netzwerkverbindung zum Internet wäre auch großartig.CPU-Geschwindigkeit/Speicher/Internetgeschwindigkeit mit Java erkennen?
Antwort
Dies hängt wirklich von Ihrem Betriebssystem ab, da Java Ihnen wenig über den zugrunde liegenden Computer sagen wird. Leider müssen Sie je nach Betriebssystem unterschiedliche Vorgehensweisen verwenden.
Wenn Sie unter Linux sind, sehen Sie sich das /proc/cpuinfo
Dateisystem für CPU-Informationen an. /proc
hat in der Regel eine Fülle von Informationen. Das Netzwerk (IO) wird über den Befehl ifconfig
angezeigt.
Wenn Sie unter Windows arbeiten, ist ein nützliches Tool WMI, das Zugriff auf alle Arten von Low-Level-Hardware-Statistiken bietet. Sie können WMI-Skripts über CScript ausführen. Here's a page of examples von WMI-Skripten.
Memory Stats sind von der Runtime Objekt verfügbar. Und werfen Sie einen Blick auf eine jconsole, einen grafischen Client, der Informationen über eine JMX-fähige Java Virtual Machine darstellt. Es zeigt viele Informationen einschließlich der CPU-Auslastung, so dass Sie Ihren eigenen Client schreiben könnten, der ebenfalls auf die JMX-Informationen zugreift.
Ja, es scheint so, als ob Java sehr schützend darüber ist, wie Anwendungen mit Hardware interagieren können. Die Speicherstatistik, die ich vom Runtime-Objekt gesehen habe, ist genau das, was die VM macht, nicht die tatsächlich verfügbare Gesamtmenge. –
Vielleicht SIGAR kann einige der Dinge, die Sie benötigen.
Properties p = System.getProperties();
p.list(System.out);
System.out.print("Total CPU:");
System.out.println(Runtime.getRuntime().availableProcessors());
System.out.println("Max Memory:" + Runtime.getRuntime().maxMemory() + "\n" + "available Memory:" + Runtime.getRuntime().freeMemory());
System.out.println("os.name=" + System.getProperty("os.name"));
try oben
'java testtest.java:3: Symbol nicht gefunden Symbol: Klasse Eigenschaften \t Eigenschaften p = System.getProperties() ; ' – Tim
Hallo dr, sorry ich spezifischere hätte sein sollen, bedeuten, dass ich die Java-Anwendung die Sprache nicht JavaScript –
Aber Dank! Das war, was ich suchte;) –