2011-10-16 151 views
0

我如何使用sigar獲得磁盤性能,我知道iostat會返回磁盤使用情況,但我需要與速度相關的信息以便在磁盤中寫入和讀取。如何獲取磁盤性能信息?

unix上的本地iostat返回這個數據,但是,我正在開發一個基於java的應用程序,其中一個目的是多平臺的,而且sigar的工作完美無缺。

我主要關心的是Windows,所以有人知道如何在Sigar下甚至在Windows下獲取這些信息?

回答

3

查看org.hyperic.sigar.cmd.Iostat.java的源代碼。 你可以得到所有的通過代表本地磁盤的文件系統:

FileSystem[] fileSystemList = this.proxy.getFileSystemList(); 
for (int i = 0; i < fileSystemList.length; i++) { 
    FileSystem fs = fileSystemList[i]; 
    if (fs.getType() == FileSystem.TYPE_LOCAL_DISK){ 
    FileSystemUsage usage = this.sigar.getFileSystemUsage(fs.getDirName()); 

    String devName = fs.getDevName(); 

    long read = usage.getDiskReadBytes(); 
    long write = usage.getDiskWriteBytes(); 


    } 

} 
-1

我不知道什麼是Sigar,但我認爲你可以寫一個小的應用程序,將一個原始數據寫入一個文件或者做一個文件拷貝並測量它們之間的時間。 你可以做同樣的事情來閱讀。

-2

我不這麼認爲。請查看Sigar API。

+0

你能否澄清它是什麼讓你相信這是不可能的? –