2


我尝试获取通过 Java 启动的进程的内存使用情况。
有人可以给我一个提示如何为示例 Notepad.exe 执行此操作吗?

    // Memoryusage of the Java programm
    Runtime runtime=Runtime.getRuntime();
    total = runtime.totalMemory();
    System.out.println("System Memory: " + total);

    ProcessBuilder builder = new ProcessBuilder("notepad.exe");
    Process p = builder.start();

谢谢你的帮助!

4

3 回答 3

1

这篇文章有你的答案 Java ProcessBuilder 内存

引用最佳答案:

新进程在启动它的 Java 进程之外运行。作为进程管理的一部分,分配给新进程的内存由操作系统管理。Java 类 ProcessBuilder 提供了一个用于启动和与新进程通信的接口,它在 Java 进程内部运行。

于 2013-04-26T13:53:10.273 回答
1

您可以运行系统命令并将其输出转储到文件中。然后,解析此文件以查找内存使用情况。

于 2013-04-26T13:54:55.600 回答
0

这个问题在这里包括

   ProcessBuilder pb = new ProcessBuilder("cmd.exe",  "/C", "tasklist /fi \"IMAGENAME eq notepad.exe\" /NH");

解决了我的问题。

于 2013-04-26T14:55:07.590 回答