隨筆 - 303  文章 - 883  trackbacks - 0
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          歡迎光臨! 
          閑聊 QQ:1074961813

          隨筆分類(357)

          我管理的群

          公共blog

          • n維空間
          • Email : java3d@126.com 群 : 12999758

          參與管理的論壇

          好友的blog

          我的其他blog

          朋友的網(wǎng)站

          搜索

          •  

          最新評(píng)論

          網(wǎng)友的問(wèn)題:
           
          用第一個(gè)java虛擬機(jī)啟動(dòng)另一個(gè)虛擬機(jī),并用第一個(gè)虛擬機(jī)的java程序去測(cè)試另一個(gè)虛擬機(jī)上java程序運(yùn)行時(shí)的內(nèi)存,CPU資源占用情況。

          解決問(wèn)題的限制和條件:

          1》兩個(gè)虛擬機(jī)運(yùn)行在同臺(tái)Windows_X86機(jī)上。

          2》只需要知道第二個(gè)虛擬機(jī)上運(yùn)行程序時(shí),第二個(gè)虛擬機(jī)的內(nèi)存、CPU使用情況。

          3》目的是:測(cè)試不同的程序在同個(gè)虛擬機(jī)上資源使用差別。

          解決問(wèn)題的關(guān)鍵:

          第一 如何啟動(dòng)另一虛擬機(jī)運(yùn)行測(cè)試的java程序。

          第二 如何用第一個(gè)虛擬機(jī)里的java程序,監(jiān)視另一個(gè)虛擬機(jī)與其相關(guān)進(jìn)程的運(yùn)行情況。

          解決辦法:

          一、使用java.io中的函數(shù)(命令試過(guò)沒(méi)問(wèn)題,程序請(qǐng)按下面提示完成)



          使用java.io中的函數(shù)


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

          這里我給一個(gè)帶命令參數(shù)的例子

          Runtime r=Runtime.getRuntime();
          Process p
          =null;
          String cmd[]
          ={"命令","參數(shù)"};
          try{
          p
          =r.exec(cmd);
          }

          catch(Exception e){
          System.out.println(
          "error executing: "+cmd[0]);
          }

          這里要使用到的系統(tǒng)命令有幾個(gè):

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



              tasklist > log.txt
             //將當(dāng)前系統(tǒng)進(jìn)程寫(xiě)以“任務(wù)管理器”的格式()寫(xiě)入
             //log.txt文件中,關(guān)于tasklist使用細(xì)節(jié),如查詢某個(gè)進(jìn)程ID的信息
             //可以使用命令 >tasklist   /?    進(jìn)行查詢



          這兩步均在第一個(gè)虛擬機(jī)完成,簡(jiǎn)單!!!

           



          二、常規(guī)方法使用JNI

          這里我給一套解決方案,網(wǎng)上有很多相關(guān)代碼,自己去找找;呵呵
           





          這套方案也可以實(shí)現(xiàn),這里我使用簡(jiǎn)單的實(shí)現(xiàn)方法用C#來(lái)做監(jiān)控,但這這個(gè)方案明顯有其不足之處;就是測(cè)試對(duì)象的JNI接口會(huì)被觸發(fā),當(dāng)然,如果不要求數(shù)據(jù)的準(zhǔn)確性,單從比較的角度去看,只要運(yùn)行的沒(méi)有本身沒(méi)有使用到JNI這個(gè)方案還是可行的。



          我想上面兩個(gè)方案,足以解決你的問(wèn)題。如果還沒(méi)能解決,或有疑問(wèn),可以加我(492006004)或在此留言。此文,早上起來(lái)已補(bǔ)全,祝你成功!!!



          地震讓大伙知道:居安思危,才是生存之道。
          posted on 2007-04-15 01:13 小尋 閱讀(368) 評(píng)論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2mec/c++/C#/pasic/vb/php/asp(.net)/win-cgi/xml...
          主站蜘蛛池模板: 昌图县| 灵武市| 松江区| 天全县| 青铜峡市| 永福县| 蒙阴县| 南华县| 肃宁县| 霞浦县| 班玛县| 乌审旗| 潜江市| 兴文县| 攀枝花市| 安多县| 广安市| 清新县| 涟源市| 临颍县| 郎溪县| 丹寨县| 山阳县| 广宁县| 杭州市| 秦皇岛市| 乌苏市| 宜良县| 湘潭县| 鄂州市| 莱州市| 军事| 株洲市| 娱乐| 盐边县| 顺昌县| 榆中县| 伊宁市| 兴城市| 青州市| 肥城市|