1:java -verbose 找到jdk安装目录。
2:下载地址:
https://download.csdn.net/download/QQ_39025156/10428175
Windows系统下载这三个文件:sigar-amd64-winnt.dll、sigar-x86-winnt.dll、sigar-x86-winnt.lib。放到jdk安装目录即可!
Sigar全名是System Information Gatherer And Reporter,中文名是系统信息收集和报表工具。是一个开源的工具,提供了跨平台的系统信息收集的API ,它用来从许多平台收集系统和处理信息,这些平台包括:Linux,Windows,Solaris,AIX,HP-UX,FreeBSD和Mac OSX。
可以收集的信息:
CPU信息:包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait) 文件系统信息:包括Filesystem、Size、Used、Avail、Use%、Type 事件信息:类似Service Control Manager 内存信息:物理内存和交换内存的总数、使用数、剩余数;RAM的大小 网络信息:包括网络接口信息和网络路由信息 进程信息:包括每个进程的内存、CPU占用数、状态、参数、句柄 IO信息:包括IO的状态,读写大小等 服务状态信息 系统信息:包括操作系统版本,系统资源限制情况,系统运行时间以及负载,JAVA的版本信息等
Java项目操作:
在自己的Java项目中引入sigar.jar。
同时将对应的dll文件或者so文件添加到系统目录。例如:windows下把sigar-x86-winnt.dll添加到c:WINDOWSsystem32或者jdk的bin目录。其中:
Windows操作系统下Sigar.jar 依赖:sigar-amd64-winnt.dll或sigar-x86-winnt.dll linux 操作系统下则依赖:libsigar-amd64-linux.so或libsigar-x86-linux.so。
java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather错误详情:
严重: Servlet.service() for servlet [springmvc] in context with path [/Haiwan] threw exception [Handler Processing failed; nested exception is java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather(Lorg/hyperic/sigar/Sigar;)V] with root cause java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather(Lorg/hyperic/sigar/Sigar;)V at org.hyperic.sigar.Mem.gather(Native Method) at org.hyperic.sigar.Mem.fetch(Mem.java:30) at org.hyperic.sigar.Sigar.getMem(Sigar.java:304) at com.haiwan.util.SystemInfo.usage(SystemInfo.java:95) at com.haiwan.controller.system.MonitorController.usage(MonitorController.java:73)
从第三行,我们可以看出,这是由于JVM在连接Sigar时出了错。查了相关资料,可以知道,这是一个JNI调用的问题。只是由于需要检测系统信息,所以需要将调用的动态库放置到JVM的调用路径下去:
也就是:
String path=System.getProperty("java.library.path");
path中第一个 ;前的位置(即你的java jdk的bin目录下:例如我的是C:Program FilesJavajre7in)。
具体的动态库,在Windows下是这三个文件:
sigar-amd64-winnt.dll sigar-x86-winnt.dll sigar-x86-winnt.lib
查看自己jdk安装目录:cmd -- java -verbose
其他系统需要另行选择,库的列表如下:
lib/libsigar-amd64-freebsd-6.so lib/libsigar-amd64-linux.so lib/libsigar-amd64-solaris.so lib/libsigar-ia64-hpux-11.sl lib/libsigar-ia64-linux.so lib/libsigar-pa-hpux-11.sl lib/libsigar-ppc64-aix-5.so lib/libsigar-ppc64-linux.so lib/libsigar-ppc-aix-5.so lib/libsigar-ppc-linux.so lib/libsigar-s390x-linux.so lib/libsigar-sparc64-solaris.so lib/libsigar-sparc-solaris.so lib/libsigar-universal64-macosx.dylib lib/libsigar-universal-macosx.dylib lib/libsigar-x86-freebsd-5.so lib/libsigar-x86-freebsd-6.so lib/libsigar-x86-linux.so lib/libsigar-x86-solaris.so