美文网首页
sigar获取当前机器的状态

sigar获取当前机器的状态

作者: 李霖神谷 | 来源:发表于2019-12-13 11:44 被阅读0次
import org.hyperic.sigar.CpuInfo;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;

public class Main {
    public static void main(String[] args) throws SigarException {
        Sigar sigar = new Sigar();
        // CPU数量(单位:个)
        int cpuLength = sigar.getCpuInfoList().length;
        System.out.println(cpuLength);
        //获取cpu信息
        CpuInfo[] infos = sigar.getCpuInfoList();
        for (int i = 0; i < infos.length; i++) {// 不管是单块CPU还是多CPU都适用
            CpuInfo info = infos[i];
            System.out.println("mhz=" + info.getMhz());// CPU的总量MHz
            System.out.println("vendor=" + info.getVendor());// 获得CPU的卖主,如:Intel
            System.out.println("model=" + info.getModel());// 获得CPU的类别,如:Celeron
            System.out.println("cache size=" + info.getCacheSize());// 缓冲存储器数量
        }
        long startTime = System.nanoTime();   //获取开始时间

        long endTime = System.nanoTime(); //获取结束时间

        System.out.println("程序运行时间: " + (endTime - startTime) + "ns");
        // 物理内存信息
        Mem mem = sigar.getMem();
// 内存总量
        System.out.println("Total = " + mem.getTotal() / 1024L / 1024 + "M av");
// 当前内存使用量
        System.out.println("Used = " + mem.getUsed() / 1024L / 1024 + "M used");
// 当前内存剩余量
        System.out.println("Free = " + mem.getFree() / 1024L / 1024 + "M free");

    }
}

相关文章

网友评论

      本文标题:sigar获取当前机器的状态

      本文链接:https://www.haomeiwen.com/subject/oslfnctx.html