public void getDiskIOInfoByCmd() {
		double ioTs = 0; // MEDIUMINT
		double readSpeed = 0; // MEDIUMINT
		double readKB = 0; // MEDIUMINT
		double writeSpeed = 0; // MEDIUMINT
		double writeKB = 0; // MEDIUMINT
		List<String> diskNameList = getDiskNameByFile();
		String commond = "iostat -d -k";
		BufferedInputStream bis = null;
		BufferedReader br = null;
		Runtime runtime = Runtime.getRuntime();
		try {
			Process p = runtime.exec(commond);
			bis = new BufferedInputStream(p.getInputStream());
			br = new BufferedReader(new InputStreamReader(bis));
			String lineStr;
			while ((lineStr = br.readLine()) != null) {
				lineStr = lineStr.trim().replaceAll(" {2,}", " ");
				String[] array = lineStr.split(" ");
				if (diskNameList.contains(array[0])) {
					ioTs += Double.parseDouble(array[1]);
					readSpeed += Double.parseDouble(array[2]);
					writeSpeed += Double.parseDouble(array[3]);
					readKB += Double.parseDouble(array[4]);
					writeKB += Double.parseDouble(array[5]);
				}
			}
			readKB /= 1024;
			writeKB /= 1024;
			try {
				if (p.waitFor() != 0) {
					if (p.exitValue() == 1)
						LOG.error("Command execution failed!");
				}
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				LOG.error(LogUtils.getTrace(e));
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			LOG.error(LogUtils.getTrace(e));
		} finally {
			try {
				if (br != null)
					br.close();
				if (bis != null)
					bis.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				LOG.error(LogUtils.getTrace(e));
			}
		}
		SharedArea.dynamicInfoSerializable.setIoTs((int) ioTs);
		SharedArea.dynamicInfoSerializable.setReadKB((int) readKB);
		SharedArea.dynamicInfoSerializable.setReadSpeed((int) readSpeed);
		SharedArea.dynamicInfoSerializable.setWriteKB((int) writeKB);
		SharedArea.dynamicInfoSerializable.setWriteSpeed((int) writeSpeed);
	}