【问题标题】:How to get disk performance info?如何获取磁盘性能信息?
【发布时间】:2011-12-08 18:16:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: java performance disk sigar


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 你能澄清一下是什么让你相信这是不可能的吗?
        猜你喜欢
        • 2016-08-26
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-03
        • 1970-01-01
        • 1970-01-01
        • 2012-10-27
        相关资源
        最近更新 更多