首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

java怎样获取CPU占用率和硬盘占用率?该怎么解决

2012-02-27 
java怎样获取CPU占用率和硬盘占用率?java怎样获取CPU占用率和硬盘占用率?有什么思路可以获取?望高手指点![

java怎样获取CPU占用率和硬盘占用率?
 
  java怎样获取CPU占用率和硬盘占用率?有什么思路可以获取?
  望高手指点!

[解决办法]
/** *//**
* 获得CPU使用率.
* @return 返回cpu使用率
*/
private double getCpuRatioForWindows() {
try {
String procCmd = System.getenv("windir")
+ "\\system32\\wbem\\wmic.exe process get Caption,CommandLine,"
+ "KernelModeTime,ReadOperationCount,ThreadCount,UserModeTime,WriteOperationCount";
// 取进程信息
long[] c0 = readCpu(Runtime.getRuntime().exec(procCmd));
Thread.sleep(CPUTIME);
long[] c1 = readCpu(Runtime.getRuntime().exec(procCmd));
if (c0 != null && c1 != null) {
long idletime = c1[0] - c0[0];
long busytime = c1[1] - c0[1];
return Double.valueOf(
PERCENT * (busytime) / (busytime + idletime))
.doubleValue();
} else {
return 0.0;
}
} catch (Exception ex) {
ex.printStackTrace();
return 0.0;
}
}[code=Java][/code]
[解决办法]

探讨
/** *//**
    * 获得CPU使用率.
    * @return 返回cpu使用率
    */
    private double getCpuRatioForWindows() {
        try {
            String procCmd = System.getenv("windir")
                    + "\\system32\\wbem\\wmic.exe process get Caption,CommandLine,"
                    + "KernelModeTime,ReadOperationCount,ThreadCount,UserModeTime,WriteOperationCount";
            // 取进程信息
            long[] c0 = readCpu(Runtime.getRuntime().exec(procCmd));
            Thread.sleep(CPUTIME);
            long[] c1 = readCpu(Runtime.getRuntime().exec(procCmd));
            if (c0 != null && c1 != null) {
                long idletime = c1[0] - c0[0];
                long busytime = c1[1] - c0[1];
                return Double.valueOf(
                        PERCENT * (busytime) / (busytime + idletime))
                        .doubleValue();
            } else {
                return 0.0;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            return 0.0;
        }
    }

[解决办法]
学习
[解决办法]
路过
[解决办法]
Bytes.java
Java code
class Bytes {    public static String substring(String src, int start_idx, int end_idx){        byte[] b = src.getBytes();        String tgt = "";        for(int i=start_idx; i<=end_idx; i++){            tgt +=(char)b[i];        }        return tgt;    }} 


[解决办法]
sigar
开源包 
http://www.hyperic.com/products/sigar.html
[解决办法]
mark 学习
[解决办法]
有一个java做的windows任务管理器 ,有CPU占有和内存占用,下载地址没有了  我手上有,要的话找me
[解决办法]
首先要问下你的是什么系统,不同系统方式是不一样的。windows如上,或者使用网络API包,如winpcap之类的。linux系统,你可以通过shell脚本,然后java调用获取执行结果,总之方法多多。。。
[解决办法]
Up!
[解决办法]
mark

[解决办法]
学习一下
[解决办法]
楼主先要清楚,你用的操作系统是windows还是linux?
[解决办法]
学习
[解决办法]
不是高手帮顶!
可以用Java掉系统的API吗?
我知道可以掉字体呀什么的。如果可以掉资源管理器就O了..
[解决办法]
mark
[解决办法]
学习学习
[解决办法]
飘过了。。 。做过linux的,但windows不太清楚。
[解决办法]
留名路过
[解决办法]
顶6#
[解决办法]
学习

学习

[解决办法]
mark

热点排行