All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.ac.ebi.interpro.scan.jms.stats.SystemInfo Maven / Gradle / Ivy

The newest version!
package uk.ac.ebi.interpro.scan.jms.stats;


//class to get the  System information

import java.io.File;
import java.text.NumberFormat;

//class to get the  System information
public class SystemInfo {

    private Runtime runtime = Runtime.getRuntime();

    long MEGA_BYTE =  (1024l * 1024l);

    public String Info() {
        StringBuilder sb = new StringBuilder();
        sb.append(this.OsInfo());
        sb.append(this.MemInfo());
        sb.append(this.DiskInfo());
        return sb.toString();
    }

    public String OSname() {
        return System.getProperty("os.name");
    }

    public String OSversion() {
        return System.getProperty("os.version");
    }

    public String OsArch() {
        return System.getProperty("os.arch");
    }

    public long totalMem() {
        return Runtime.getRuntime().totalMemory();
    }

    public long usedMem() {
        return Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
    }



    public String MemInfo() {
        NumberFormat format = NumberFormat.getInstance();
        StringBuilder sb = new StringBuilder();
        long maxMemory = runtime.maxMemory();
        long allocatedMemory = runtime.totalMemory();
        long freeMemory = runtime.freeMemory();
        sb.append("Free memory: ");
        sb.append(format.format(freeMemory / MEGA_BYTE));
        sb.append("MB ");
        sb.append("Allocated memory: ");
        sb.append(format.format(allocatedMemory /  MEGA_BYTE));
        sb.append("MB ");
        sb.append("Max memory: ");
        sb.append(format.format(maxMemory /  MEGA_BYTE));
        sb.append("MB ");
        sb.append("Total free memory: ");
        sb.append(format.format((freeMemory + (maxMemory - allocatedMemory)) / MEGA_BYTE));
        sb.append("MB ");
        return sb.toString();

    }

    public String OsInfo() {
        StringBuilder sb = new StringBuilder();
        sb.append("OS: ");
        sb.append(this.OSname());
        sb.append("
"); sb.append("Version: "); sb.append(this.OSversion()); sb.append("\n"); sb.append(": "); sb.append(this.OsArch()); sb.append("\n"); sb.append("Available processors (cores): "); sb.append(runtime.availableProcessors()); sb.append("\n\n>"); return sb.toString(); } public String DiskInfo() { /* Get a list of all filesystem roots on this system */ File[] roots = File.listRoots(); StringBuilder sb = new StringBuilder(); /* For each filesystem root, print some info */ for (File root : roots) { sb.append("File system root: "); sb.append(root.getAbsolutePath()); sb.append("
"); sb.append("Total space (bytes): "); sb.append(root.getTotalSpace()); sb.append("\n"); sb.append("Free space (bytes): "); sb.append(root.getFreeSpace()); sb.append("\n"); sb.append("Usable space (bytes): "); sb.append(root.getUsableSpace()); sb.append("\n\n"); } return sb.toString(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy