guestfortherest
Goto Top

Native Library - org.hyperic.sigar.SigarException Failed to load sigar-amd64-winnt java.lang.NullPointerException

Guten Tag zusammen,
ich befasse mich seit einigen Tagen mit der SIGAR API, dennoch komm ich einfach nicht auf die Lösung, drum frag ich einfach mal hier. Und zwar hab ich sigar.jar und log4j.jar bereits in die jre6/lib hinzugefügt und hab die sigar-amd64-winnt.dll (sowie die x86 Files) in den /Program Files/Java/jre6/lib gepackt.
Nun hab ich folgendes Programm vorliegen:
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();

                }

}

und es wird mir nach Ausführung folgende Exception mitgeteilt:

Failed to load sigar-amd64-winnt: java.lang.NullPointerException
org.hyperic.sigar.SigarException: Failed to load sigar-amd64-winnt: java.lang.NullPointerException
	at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:170)
	at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
	at MemExample.<clinit>(MemExample.java:8)
Exception in thread "main" 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 MemExample.getInformationsAboutMemory(MemExample.java:17)
	at MemExample.main(MemExample.java:44)

Ich hab bereits versuch die VM Arguments (in Run Config mit DJava.library.path="path/of/lib") zu manipulieren, über Java Build Path den Native Library Pfad geändert und selbst im Programm den Pfad zu setzen mit System.setProperty("path", "-"), leider haben alle Versuche keinen Erfolg gebracht. Und jetzt fang ich langsam an zu verzweifeln.

Wäre lieb wenn man mir da mal noch Tipps geben könnte face-smile

Content-Key: 190565

Url: https://administrator.de/contentid/190565

Printed on: April 20, 2024 at 02:04 o'clock

Member: GuestfortheRest
GuestfortheRest Sep 02, 2012 at 12:06:11 (UTC)
Goto Top
Könnte es möglich sein, dass sigar hier nur mit AMD arbeitet?
Da ich ein Intel habe, könnte das dochs ein oder?