国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用Java來監視系統進程的兩個解決方案

2019-11-17 05:56:24
字體:
來源:轉載
供稿:網友

用第一個java虛擬機啟動另一個虛擬機,并用第一個虛擬機的java程序去測試另一個虛擬機上java程序運行時的內存,CPU資源占用情況。

解決問題的限制和條件:

1》兩個虛擬機運行在同臺Windows_X86機上。

2》只需要知道第二個虛擬機上運行程序時,第二個虛擬機的內存、CPU使用情況。

3》目的是:測試不同的程序在同個虛擬機上資源使用差別。

解決問題的要害:

第一 如何啟動另一虛擬機運行測試的java程序。

第二 如何用第一個虛擬機里的java程序,監視另一個虛擬機與其相關進程的運行情況。

解決辦法:

一、使用java.io中的函數(命令試過沒問題,程序請按下面提示完成)

使用java.io中的函數

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

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

Runtime r=Runtime.getRuntime();PRocess p=null;String cmd[]={"命令","參數"};try{ p=r.exec(cmd);}catch(Exception e){System.out.println("error executing: "+cmd[0]);}

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

path/java file

用第二個jvm(path為第二個jre/bin/地址)運行java程序file

tasklist > log.txt

將當前系統進程寫以“任務治理器”的格式()寫入log.txt文件中,關于tasklist使用細節,如查詢某個進程ID的信息可以使用命令 >tasklist /? 進行查詢

這兩步均在第一個虛擬機完成,簡單!!!

二、常規方法使用JNI

這里我給一套解決方案,網上有很多相關代碼,自己去找找;

使用Java來監視系統進程的兩個解決方案

這套方案也可以實現,這里我使用簡單的實現方法用C#來做監控,但這這個方案明顯有其不足之處;就是測試對象的JNI接口會被觸發,當然,假如不要求數據的準確性,單從比較的角度去看,只要運行的沒有本身沒有使用到JNI這個方案還是可行的。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绍兴县| 新余市| 开阳县| 沽源县| 深州市| 社旗县| 宾阳县| 多伦县| 神池县| 白银市| 仁化县| 高平市| 泸定县| 公主岭市| 鹤峰县| 杭州市| 灵川县| 广平县| 嘉善县| 鹤峰县| 当阳市| 柘城县| 秭归县| 平舆县| 永定县| 泗水县| 山东省| 荔波县| 永福县| 阿荣旗| 雷波县| 武宁县| 洛扎县| 望江县| 托克托县| 泗水县| 永修县| 赣榆县| 白银市| 宿迁市| 恩施市|