0

如何使用 sigar 获得磁盘性能,我知道 iostat 返回磁盘使用情况,但我需要与速度相关的信息才能在磁盘中写入和读取。

unix 上的本机 iostat 返回此数据,但是,我正在开发一个基于 java 的应用程序,其中一个目的是多平台,并且 sigar 到目前为止工作得很好。

我主要关心的是Windows,所以有人知道如何在Sigar 甚至Windows 下获取这些信息吗?

4

3 回答 3

4

查看 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();


    }

}
于 2012-12-19T15:00:29.360 回答
-2

我不知道什么是 Sigar,但我认为您可以编写一个小型应用程序,将原始数据(不进行任何处理)写入文件或进行文件复制并测量其间的时间。你可以为阅读做同样的事情。

于 2011-10-16T15:03:05.033 回答
-3

我不这么认为。请查看 Sigar API。

于 2016-12-20T23:14:24.513 回答