javaeclipsesigar

How to include SIGAR API in Java Project


I'm new on Java, so i don't know who to get the downloading zip-file (hyperic-sigar-1.6.4.zip) in the project where i've to use the Sigar-classes.

I already try to import the Sigar.Jar file, but the problem is then that the sources are unknown for each class in sigar.

So i use Eclipse Indigo for programming, may someone can help me :)

Very Thanksfull greets

Marcus


Solution

  • First You need to add Sigar.jar to your library, then add .so file to your library (you need to pick file for your OS what you are using). You can find these files in "hyperic-sigar-1.6.4/sigar-bin/lib". You can find the usage of Mem function in the example code:

    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();
    
                    }
    
    }