使用sigar獲取計算機cpu型號,數量 內存總量 磁盤總量

public static ComputerModel getComputerMessage() {
    try {
        ComputerModel computerModel = new ComputerModel();
        long totalDisk=0;
        Sigar sigar = new Sigar();
        CpuInfo infos[] = sigar.getCpuInfoList();
        Mem mem = sigar.getMem();
        String totalMem = bytes2GB(mem.getTotal());
        CpuPerc cpuList[] = null;
        cpuList = sigar.getCpuPercList();
        CpuInfo info = infos[0];
        FileSystem fslist[] = sigar.getFileSystemList();
        for (int i = 0; i < fslist.length; i++) {
            FileSystem fs = fslist[i];
            FileSystemUsage usage = sigar.getFileSystemUsage(fs.getDirName());
            switch (fs.getType()) {
                case 2: // TYPE_LOCAL_DISK : 本地硬盤
                    // 文件系統總大小
                    totalDisk += usage.getTotal();
                    break;
            }
        }

        computerModel.setCpuModel(info.getModel());
        computerModel.setTotleMemory(totalMem);
        computerModel.setTotleDisk((totalDisk/1024/1024)+"");
        computerModel.setCpuCount(infos.length);
        return computerModel;
    }catch (Exception e){
        e.printStackTrace();
    }
    return null;
}
public static String bytes2GB(long bytes) {
    DecimalFormat df = new DecimalFormat("#0.00");
    return df.format((double) bytes / 1024/1024/1024);
}
相關文章
相關標籤/搜索