How to pick up hardware and system information?

11

I found only the class Runtime , but it returns only values in numbers, such as total memory and processors. Is there any API that returns hardware data (processor version, RAM, architecture, etc.) as in CCleaner?

    
asked by anonymous 30.07.2015 / 00:15

1 answer

4

I use the SIGAR basically does what you asked for: Documentation

After downloading SAGAR API.Jar and including it in the compilation path, here is an example of use:

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

}
    
30.07.2015 / 12:23