2013-04-26 106 views
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(); 

感謝您的幫助!

回答

0

這個問題here包括

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

解決我的問題。

1

這個帖子有你的答案 Java ProcessBuilder memory

引用最多的回答:

新進程運行的Java進程啓動它之外。內存分配到新進程由操作系統管理,作爲進程管理的一部分。 Java類ProcessBuilder提供了一個用於啓動和與新進程通信的接口,它在Java進程內運行。

+0

因此,沒有其他方式,然後啓動其他進程(也在java之外)來獲取內存使用情況? – user1193134 2013-04-26 13:55:50

+0

不適用於java。 你可以嘗試用C++ C++來解決問題 – 2013-04-26 14:01:37

1

您可以運行系統命令並將其輸出轉儲到文件中。 然後,解析此文件以查找內存使用情況。

相關問題