资讯

展开

sigar进行JAVA后台系统资源监控错误:java.lang.UnsatisfiedLinkError

作者:快盘下载 人气:

不想看长篇大论的看这里解决步骤:

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简介

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进行JAVA后台系统资源监控错误:java.lang.UnsatisfiedLinkError

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

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!