Sigar应用
sigar是一个用于获取底层硬件信息比如:CPU,内存,硬盘,网络等等信息的库。其官网如下:
出于项目需求,采用其获取监控机器的CPU,内存等信息。
- 配置依赖:
compile ('org.fusesource:sigar:1.6.4')
- 配置库位置:
在ide中配置vm options,添加-Djava.library.path=/Users/XXX/Downloads/hyperic-sigar-1.6.4/sigar-bin/lib
将库位置指向sigar解压缩后的lib。
在脚本中则如下:
JAVA_OPTS="-Dfile.encoding=UTF-8 -ms512m -mx512m -Xmn256m -Djava.awt.headless=true -XX:MaxPermSize=128m -Ddubbo.shutdown.hook=true -Djava.library.path=/sigar/lib”。
- 获取信息示例:
Cpu cpu = sigar.getCpu(); long sys = cpu.getSys(); double total = Double.parseDouble(cpu.getTotal() + ""); long user = cpu.getUser(); DecimalFormat df = new DecimalFormat("#.000"); CPUInfo cpuInfo = new CPUInfo(); cpuInfo.setSys(Double.parseDouble(df.format(sys / total))); cpuInfo.setUser(Double.parseDouble(df.format(user / total)));
上述代码是获取CPU信息。