是否有可能获得 java Process 的当前 RAM 使用情况?这是使用 Runtime.getRuntime().exec(...);
创建的。我正在创建一个 minecraft 服务器实例,我需要监控服务器的资源使用情况。
这正是我创建流程的方式。
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();
}
}
最佳答案
Bukkit 已经为 monitoring and managing Minecraft server performance 提供了自定义插件那应该非常适合你。
通常您会使用 Java Melody 或 JMX 控制台之类的东西来监视应用程序服务器进程。您还可以使用 built-in VisualVM 对其进行检测和监控.
关于java - 如何获取 java Process 对象的 MemoryUsage 统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37803993/