}
}
public static void getServerDiskInfo(Sigar sigar, ServerStatus status) {
try {
FileSystem fslist[] = sigar.getFileSystemList();
FileSystemUsage usage = null;
for (int i = 0; i < fslist.length; i++) {
FileSystem fs = fslist[i];
switch (fs.getType()) {
case 0: // TYPE_UNKNOWN :未知
case 1: // TYPE_NONE
case 3:// TYPE_NETWORK :网络
case 4:// TYPE_RAM_DISK :闪存
case 5:// TYPE_CDROM :光驱
case 6:// TYPE_SWAP :页面交换
break;
case 2: // TYPE_LOCAL_DISK : 本地硬盘
DiskInfoVo disk = new DiskInfoVo();
disk.setDevName(fs.getDevName());
disk.setDirName(fs.getDirName());
usage = sigar.getFileSystemUsage(fs.getDirName());
disk.setTotalSize(usage.getTotal() / (1024 * 1024));
// disk.setFreeSize(usage.getFree()/(1024*1024));
disk.setAvailSize(usage.getAvail() / (1024 * 1024));
disk.setUsedSize(usage.getUsed() / (1024 * 1024));
disk.setUsePercent(usage.getUsePercent() * 100D + "%");
disk.setTypeName(fs.getTypeName());
disk.setSysTypeName(fs.getSysTypeName());
String val = diskWritesAndReadsOnInit.get(fs.getDevName());
if (val != null) {
long timePeriod = (System.currentTimeMillis() - initTime) / 1000;
long origRead = Long.parseLong(val.split("\\|")[0]);
long origWrite = Long.parseLong(val.split("\\|")[1]);
disk.setDiskReadRate((usage.getDiskReadBytes() - origRead) / timePeriod);