Java 如何获取已启动进程的内存使用率
Java 如何获取已启动进程的内存使用率,java,memory,processbuilder,Java,Memory,Processbuilder,我尝试通过Java获取启动进程的内存使用情况。 有人能给我一个提示如何为示例Notepad.exe执行此操作吗 // Memoryusage of the Java programm Runtime runtime=Runtime.getRuntime(); total = runtime.totalMemory(); System.out.println("System Memory: " + total); ProcessBuilder builde
我尝试通过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();
谢谢你的帮助 这篇文章有你的答案
引用最重要的答案:
新进程在启动它的Java进程之外运行。作为进程管理的一部分,新进程的内存分配由操作系统管理。
Java类ProcessBuilder在Java进程内部运行,它提供了启动新进程并与之通信的接口
您可以运行系统命令并将其输出转储到文件中。 然后,解析此文件以查找内存使用情况。此问题包括
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "tasklist /fi \"IMAGENAME eq notepad.exe\" /NH");
解决了我的问题。因此,没有其他方法可以启动另一个进程(也在java之外)来获得内存使用率?java除外。你可以尝试用C++解决这个问题。