用第一個java虛擬機啟動另一個虛擬機,并用第一個虛擬機的java程序去測試另一個虛擬機上java程序運行時的內存,CPU資源占用情況。
解決問題的限制和條件:
1》兩個虛擬機運行在同臺Windows_X86機上。
2》只需要知道第二個虛擬機上運行程序時,第二個虛擬機的內存、CPU使用情況。
3》目的是:測試不同的程序在同個虛擬機上資源使用差別。
解決問題的關鍵:
第一 如何啟動另一虛擬機運行測試的java程序。
第二 如何用第一個虛擬機里的java程序,監視另一個虛擬機與其相關進程的運行情況。
解決辦法:
一、使用java.io中的函數(命令試過沒問題,程序請按下面提示完成)
使用java.io中的函數

Runtime.getRuntime().exec("系統命令");

這里我給一個帶命令參數的例子















這里要使用到的系統命令有幾個:

path/java file










二、常規方法使用JNI
這里我給一套解決方案,網上有很多相關代碼,自己去找找;呵呵
這套方案也可以實現,這里我使用簡單的實現方法用C#來做監控,但這這個方案明顯有其不足之處;就是測試對象的JNI接口會被觸發,當然,如果不要求數據的準確性,單從比較的角度去看,只要運行的沒有本身沒有使用到JNI這個方案還是可行的。
我想上面兩個方案,足以解決你的問題。如果還沒能解決,或有疑問,可以加我(492006004)或在此留言。此文,早上起來已補全,祝你成功!!!
地震讓大伙知道:居安思危,才是生存之道。

posted on 2007-04-15 01:13 小尋 閱讀(366) 評論(0) 編輯 收藏 所屬分類: j2se/j2ee/j2me 、c/c++/C#/pasic/vb/php/asp(.net)/win-cgi/xml...