Ich möchte CPU Ram freien Speicherplatz mit Java für viele Server jede Idee bekommen.CPU-RAM und freier Speicherplatz für Remote-Server Java
Antwort
Ich bin nur ein Auszubildender, aber meine Lösung wäre, einen Server-Socket zu schreiben und auf den Servern laufen zu lassen. Öffnen Sie dann eine Verbindung über einen Client-Socket und fragen Sie nach Informationen.
Als ich würde simplem das benutzte Mb zurückgeben oder es einfach zu einem% Wert umwandeln.
Ich würde sowieso lieber eine bestehende und getestete Lösung verwenden.
EDIT:
hier ein Tutorial, wie Sie Ihre frei zu bekommen, Max und Gebraucht RAM. http://crunchify.com/java-runtime-get-free-used-and-total-memory-in-java/
EDIT2: Hier ist der Code meiner Idear:
Server-Teil:
public static void main(String[] args) {
try {
ServerSocket sSocket = new ServerSocket(6969);
Socket socket = sSocket.accept();
DataInputStream dis = new DataInputStream(socket.getInputStream());
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
String str1 = "";
//Add Varaibles you want to return
double ram = 15.0;
while (!str1.equals("stop")) {
str1=dis.readUTF();
//Return Value you need by param
if (str1.equals("getRam")) {
//Add Your calculation here
dout.writeUTF(String.valueOf(ram));
dout.flush();
}
else if(str1.equals("stop")){
dout.writeUTF("stop");
dout.flush();
}
else {
dout.writeUTF("Unknown Command");
dout.flush();
}
}
sSocket.close();
socket.close();
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Client-Teil:
public class Main {
public static void main(String[] args) {
try {
String serverIp = "localhost";
Socket socket = new Socket(serverIp, 6969);
DataInputStream dIn = new DataInputStream(socket.getInputStream());
DataOutputStream dOut= new DataOutputStream(socket.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = "";
String str2 = "";
dOut.writeUTF("getRam");
//for manual param transmitting
//str = br.readLine();
//dOut.writeUTF(str);
dOut.flush();
str2=dIn.readUTF();
System.out.println("Server response:" + str2);
br.readLine();
} catch (UnknownHostException e) {
e.printStackTrace();
System.out.println(e);
} catch (IOException e) {
e.printStackTrace();
System.out.println(e);
}
}
}
Ich hoffe, dass Ihnen hilft. Wie auch immer, ich denke nicht, dass Sie Daten ohne Verbindung oder eine Verbindung zu Ihrem Server erhalten können.
Nun je nach Zielplattform gibt es mehrere Möglichkeiten:
- haben Java-Clients auf jedem System ausgeführt werden, die diese Informationen auf Anfrage sammeln und haben dann einen Server, sammeln und anzeigen alle diese Informationen. Dies ist die plattformunabhängigste Lösung, aber Sie müssen Client und Server schreiben und Clients auf jedem System installieren.
- Wenn SSH auf Plattformen unterstützt wird, können Sie sich mit einem Java-Programm bei jedem System anmelden und Befehlszeilenprogramme zum Abfragen von Ressourcen verwenden. Dies erfordert jedoch entweder Anmeldeinformationen für jedes System oder die verfügbaren SSH-Schlüssel.
- Verwenden Sie NET-SNMP auf Zielplattformen, wenn dies unterstützt wird, und aktivieren Sie die Ressourcenerfassung. Das Java-Programm kann dann den SNMP-Agenten abfragen, um die Ressourcennutzung zu erfassen. Sie benötigen eine Bibliothek, um mit SNMP-Agenten zu kommunizieren. Sie können SNMP4J oder AdventNet für diesen Zweck verwenden.
bitte können Sie mir ein Beispiel geben – oulaya
- 1. wieviel freier Speicherplatz für mysql auf lampp
- 2. Freier Speicherplatz von MongoDB 3.2 wiederherstellen
- 3. virtualbox volle Scheibe obwohl genügend freier Speicherplatz
- 4. Mongod - Unzureichender freier Speicherplatz für Journaldateien nach dem Hacken
- 5. Powershell-Extrakt CPU, Speicher und freier Speicherplatz von Servern
- 6. Die beste Methode zum Abfragen von Speicherplatz auf dem Remoteserver
- 7. Freier Speicherplatz in MySQL nach dem Löschen von Tabellen und Spalten?
- 8. Freier Speicher Debugger für Windows?
- 9. Freier Speicher eines Byte-Arrays in Java
- 10. Java ExecutorService Heap-Speicherplatz Probleme
- 11. Java JDK nicht genug Speicherplatz
- 12. Verfügbarer Speicherplatz für Cluster
- 13. Wie ermittelt man, wie viel freier Speicherplatz auf einem Laufwerk in Qt?
- 14. ggplot2: Facetten: verschiedene Achsgrenzen und freier Platz
- 15. Nach Platzieren von nur ~ 1400MB, wenn freier Speicherplatz vorher war viel weniger Platz
- 16. AWS PostgreSQL RDS: mehr als 10 GB freier Speicherplatz, ohne dass Daten gelöscht wurden
- 17. TFS-Verzweigung und Speicherplatz
- 18. Wie kann ich LRU-Ordner löschen, bis 5 GB freier Speicherplatz verfügbar sind?
- 19. Relation von freier Monade und AST
- 20. Solr Server Arbeitsspeicher und Speicherplatz
- 21. Java-Byte/Byte-Array-Speicherplatz Effizienzvergleich
- 22. freier Speicher netbeans plugin
- 23. Anwendung freier Speicher
- 24. Verwenden von Intellij mit dem Remoteserver
- 25. Freier Speicher von AnimationDrawable
- 26. C++ doppelter freier Fehler von unterschiedlicher freier Ordnung
- 27. Freier Speicher nach remove_if
- 28. Freier Speicher explizit
- 29. Speicherplatz optimierte Lösung für Münzwechsel
- 30. Freier Ordnerbereich anzeigen
Was haben Sie bisher versucht? – dunni
Was hast du probiert und womit hast du Probleme? Ich schlage vor, dass Sie ein Tool verwenden, das das für Sie bereits tut, das Sie mit Google erforschen können. –
ich probierte Prozess c = Runtime.getRuntime(). Exec (commande); aber ich habe system inf für meine lokale Maschine ich wich ich habe ram cpu für andere Server – oulaya