一、背景
需要查詢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();
