Windows系统CPU和内存状态实时查询(Java)

一、背景

需要查询Windows服务器的CPU和内存状态。

Linux系统查询CPU和内存状态很简单,一个top命令搞定,Windows就稍微麻烦一些了。

经过资料查找,发现jdk目前不能直接查询系统的CPU和内存状态。

进一步查找,发现可以使用第三方库sigar。

二、sigar库下载

1. github上开放源码库(但是没有编译后的dll文件,需要自己通过VS编译)

2. 直接下载编译后的dll文件,推荐一个好用的地址:

http://api.256file.com/   //一个纯净的下载dll库文件的地方。

三、sigar库的安装

将sigar-amd64-winnt.dll拷贝到C:\Windows\System32路径下。

四、Java库的下载

<!-- https://mvnrepository.com/artifact/org.hyperic/sigar -->
    <dependency>
        <groupId>org.hyperic</groupId>
        <artifactId>sigar</artifactId>
        <version>1.6.4</version>
    </dependency>

五、使用的示例

Sigar sigar = new Sigar();
sigar.getCpuPerc().getCombined();//获取总的CPU利用率
Mem mem = sigar.getMem();
Long memTotal = mem.getTotal();
Long memUsed = mem.getUsed();
Long memFree = mem.getFree();

 

posted @ 2019-05-04 21:05  一沙世界  阅读(1935)  评论(0编辑  收藏  举报