Ist es möglich, die aktuelle RAM-Auslastung eines Java Process zu erhalten, das mit Runtime.getRuntime().exec(...);
erstellt wird. Ich erstelle eine Minecraft-Server-Instanz und muss die Ressourcennutzung des Servers überwachen.So erhalten Sie MemoryUsage-Statistiken für ein Java-Prozessobjekt
Hier ist genau, wie ich den Prozess erstelle.
private void runStartCommand(){
try {
lines = new ArrayList<>();
String cmd = "cmd.exe /c cd " + service.getLocation() + "& java -jar -Xmx2G -Xms2G "+service.getLocation()+"spigot-1.9.2.jar";
process = Runtime.getRuntime().exec(cmd);
input = new BufferedReader(new InputStreamReader(process.getInputStream()),8*1024);
writer = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
running = true;
} catch (IOException e) {
e.printStackTrace();
}
}
Ist dieser Server unter Unix? –
@SamuelToh Er führt 'cmd.exe' aus, also ist er unter Windows –
Nein. Zur Zeit läuft es unter Windows auf meinem Computer und in Zukunft wird es auf Centos und Windows Servern laufen. – IcyRelic