Runtime.getRuntime().exec(...);
で作成されたJava Processの現在のRAM使用率を取得することは可能ですか?私はminecraftサーバーのインスタンスを作成しており、サーバーのリソース使用量を監視する必要があります。JavaプロセスオブジェクトのMemoryUsage統計を取得する方法
ここでは、プロセスの作成方法を説明します。
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();
}
}
このサーバはUnix上にありますか? –
@SamuelToh彼は 'cmd.exe'を実行してWindows –
の下にあります。現在、私のコンピュータ上のWindows上で実行されていますが、将来はCentosとWindowsサーバ上で実行されます – IcyRelic