如何在Java项目中包含sigarapi
我是Java新手,所以我不知道在需要使用sigar类的项目中谁可以获得下载的zip文件(hyperic-sigar-1.6.4.zip) 我已经尝试导入Sigar.Jar文件,但问题是Sigar中的每个类的源代码都是未知的 所以我使用EclipseIndigo进行编程,希望有人能帮助我:) 非常感谢你的问候如何在Java项目中包含sigarapi,java,eclipse,sigar,Java,Eclipse,Sigar,我是Java新手,所以我不知道在需要使用sigar类的项目中谁可以获得下载的zip文件(hyperic-sigar-1.6.4.zip) 我已经尝试导入Sigar.Jar文件,但问题是Sigar中的每个类的源代码都是未知的 所以我使用EclipseIndigo进行编程,希望有人能帮助我:) 非常感谢你的问候 Marcus首先您需要将Sigar.jar添加到您的库中,然后将文件添加到您的库中(您需要为您的操作系统选择您正在使用的文件)。您可以在“hyperic-sigar-1.6.4/sigar-
Marcus首先您需要将
Sigar.jar
添加到您的库中,然后将文件添加到您的库中(您需要为您的操作系统选择您正在使用的文件)。您可以在“hyperic-sigar-1.6.4/sigar-bin/lib”
中找到这些文件。您可以在示例代码中找到Mem
函数的用法:
import java.io.*;
import java.util.*;
import java.text.*;
import java.lang.*;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
public class MemExample {
private static Sigar sigar = new Sigar();
public static void getInformationsAboutMemory() {
System.out.println("**************************************");
System.out.println("*** Informations about the Memory: ***");
System.out.println("**************************************\n");
Mem mem = null;
try {
mem = sigar.getMem();
} catch (SigarException se) {
se.printStackTrace();
}
System.out.println("Actual total free system memory: "
+ mem.getActualFree() / 1024 / 1024+ " MB");
System.out.println("Actual total used system memory: "
+ mem.getActualUsed() / 1024 / 1024 + " MB");
System.out.println("Total free system memory ......: " + mem.getFree()
/ 1024 / 1024+ " MB");
System.out.println("System Random Access Memory....: " + mem.getRam()
+ " MB");
System.out.println("Total system memory............: " + mem.getTotal()
/ 1024 / 1024+ " MB");
System.out.println("Total used system memory.......: " + mem.getUsed()
/ 1024 / 1024+ " MB");
System.out.println("\n**************************************\n");
}
public static void main(String[] args) throws Exception{
getInformationsAboutMemory();
}
}
下载的zip将包含一个或两个文件夹,给出如何使用某些函数的示例。文件夹示例可在以下位置找到:
“hyperic-sigar-1.6.4/bindings/java/examples”因此我将sigar.jar文件添加到我的JRE系统库中,并将所有.So文件从hyperic-sigar-1.6.4/sigar-bin/lib复制到Java/jre6/lib,但现在我总是收到这样的消息:未能加载sigar-amd64-winnt:Java.lang.NullPointerException org.hyperic.sigar.sigar.sigar异常:未能加载sigar-amd64-winnt:Java.lang.NullPointerExceptionorg.hyperic.sigar.sigar.sigar.loadLibrary(sigar.java:170)在org.hyperic.sigar.sigar.sigar.(sigar.java:100)在MemExample.(MemExample.java:14)那么怎么了?也把这个文件sigar-x86-winnt.lib添加到你的库中。我使用的是win7,64位,那么使用32位库有什么意义呢?但是我试过了,结果是一样的。sigar函数可能会出现错误。但是我没有查看这些类,所以我很茫然。我将完整的sigar库添加到我的jre6/lib中,所以它不需要关心使用jre6/lib(带有sigar文件)或sigar文件。在我的例子中,我使用的是Ubuntu(64位),我将sigar.jar&libsigar-x86-linux。因此在我的项目库文件夹(即/home/project/Metrics/lib/)中,它对我来说很好。。。