Java开发中如果需要获取系统CPU使用率的话比较好用的解决方案是使用Sigar来做开发,这样可以忽视平台不同的影响而直接获取CPU使用率(因为Win和Linux的获取方式不同)
这些Sigar都已经开发好了
在刚开始使用Sigar时需要给你的系统的JavaClasspath
目录中安装Sigar扩展,不然在获取CPU使用率时会报异常:
java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/Sigar;)V
at org.hyperic.sigar.Cpu.gather(Native Method)
at org.hyperic.sigar.Cpu.fetch(Cpu.java:30)
at org.hyperic.sigar.Sigar.getCpu(Sigar.java:320)
at org.hyperic.sigar.Sigar.getCpuPerc(Sigar.java:341)
获取你的JavaClasspath
的方法,网上有很多方法。
我这里也简单说一种:
public class PathGetter {
public static void main(String[] args) {
System.out.println(System.getProperty("java.library.path"));
}
}
用这段简单的代码即可,运行后会自动输出,任何一个目录都是JavaClassPath
这是编译后可以运行的文件:PathGetter.class
扩展文件:
- windows系统需要安装:
- linux系统需要安装:
你不需要担心你的系统版本,直接把系统的这两个文件都丢进去即可(一共0.5MB不大)
结束~
冶心·练体·得技