java怎樣獲取CPU占用率和硬盤占用率


通過jmx可以監控vm內存使用,系統內存使用等,以下是網上某博客代碼,特點是通過window和linux命令獲得CPU使用率。 

 利用java程序實現獲取計算機cpu利用率和內存使用信息。 

 

 

 

 

package com.amgkaka.performance;   

   
/** */ /**  
  * 監視信息的JavaBean類.  
  * @author  amg  
  * @version 1.0   
  * Creation date: 2008-4-25 - 上午10:37:00  
  */  
public  class  MonitorInfoBean {   
     /** */ /** 可使用內存. */  
     private  long  totalMemory;   
        
     /** */ /** 剩余內存. */  
     private  long  freeMemory;   
        
     /** */ /** 最大可使用內存. */  
     private  long  maxMemory;   
        
     /** */ /** <a href="https://www.baidu.com/s?wd=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmhN-mHIWuWPhrHDYnyR40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHczPWTsPjn1rHDkPWTsrjfd" target="_blank" class="baidu-highlight">操作系統</a>. */  
     private  String osName;   
        
     /** */ /** 總的<a href="https://www.baidu.com/s?wd=%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmhN-mHIWuWPhrHDYnyR40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHczPWTsPjn1rHDkPWTsrjfd" target="_blank" class="baidu-highlight">物理內存</a>. */  
     private  long  totalMemorySize;   
        
     /** */ /** 剩余的<a href="https://www.baidu.com/s?wd=%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmhN-mHIWuWPhrHDYnyR40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHczPWTsPjn1rHDkPWTsrjfd" target="_blank" class="baidu-highlight">物理內存</a>. */  
     private  long  freePhysicalMemorySize;   
        
     /** */ /** 已使用的<a href="https://www.baidu.com/s?wd=%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmhN-mHIWuWPhrHDYnyR40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHczPWTsPjn1rHDkPWTsrjfd" target="_blank" class="baidu-highlight">物理內存</a>. */  
     private  long  usedMemory;   
        
     /** */ /** 線程總數. */  
     private  int  totalThread;   
        
     /** */ /** <a href="https://www.baidu.com/s?wd=cpu%E4%BD%BF%E7%94%A8%E7%8E%87&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmhN-mHIWuWPhrHDYnyR40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHczPWTsPjn1rHDkPWTsrjfd" target="_blank" class="baidu-highlight">cpu使用率</a>. */  
     private  double  cpuRatio;   
   
     public  long  getFreeMemory() {   
         return  freeMemory;   
     }   
   
     public  void  setFreeMemory( long  freeMemory) {   
         this .freeMemory = freeMemory;   
     }   
   
     public  long  getFreePhysicalMemorySize() {   
         return  freePhysicalMemorySize;   
     }   
   
     public  void  setFreePhysicalMemorySize( long  freePhysicalMemorySize) {   
         this .freePhysicalMemorySize = freePhysicalMemorySize;   
     }   
   
     public  long  getMaxMemory() {   
         return  maxMemory;   
     }   
   
     public  void  setMaxMemory( long  maxMemory) {   
         this .maxMemory = maxMemory;   
     }   
   
     public  String getOsName() {   
         return  osName;   
     }   
   
     public  void  setOsName(String osName) {   
         this .osName = osName;   
     }   
   
     public  long  getTotalMemory() {   
         return  totalMemory;   
     }   
   
     public  void  setTotalMemory( long  totalMemory) {   
         this .totalMemory = totalMemory;   
     }   
   
     public  long  getTotalMemorySize() {   
         return  totalMemorySize;   
     }   
   
     public  void  setTotalMemorySize( long  totalMemorySize) {   
         this .totalMemorySize = totalMemorySize;   
     }   
   
     public  int  getTotalThread() {   
         return  totalThread;   
     }   
   
     public  void  setTotalThread( int  totalThread) {   
         this .totalThread = totalThread;   
     }   
   
     public  long  getUsedMemory() {   
         return  usedMemory;   
     }   
   
     public  void  setUsedMemory( long  usedMemory) {   
         this .usedMemory = usedMemory;   
     }   
   
     public  double  getCpuRatio() {   
         return  cpuRatio;   
     }   
   
     public  void  setCpuRatio( double  cpuRatio) {   
         this .cpuRatio = cpuRatio;   
     }   
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM