如何使用 sigar 获得磁盘性能,我知道 iostat 返回磁盘使用情况,但我需要与速度相关的信息才能在磁盘中写入和读取。
unix 上的本机 iostat 返回此数据,但是,我正在开发一个基于 java 的应用程序,其中一个目的是多平台,并且 sigar 到目前为止工作得很好。
我主要关心的是Windows,所以有人知道如何在Sigar 甚至Windows 下获取这些信息吗?
如何使用 sigar 获得磁盘性能,我知道 iostat 返回磁盘使用情况,但我需要与速度相关的信息才能在磁盘中写入和读取。
unix 上的本机 iostat 返回此数据,但是,我正在开发一个基于 java 的应用程序,其中一个目的是多平台,并且 sigar 到目前为止工作得很好。
我主要关心的是Windows,所以有人知道如何在Sigar 甚至Windows 下获取这些信息吗?
查看 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();
}
}
我不知道什么是 Sigar,但我认为您可以编写一个小型应用程序,将原始数据(不进行任何处理)写入文件或进行文件复制并测量其间的时间。你可以为阅读做同样的事情。
我不这么认为。请查看 Sigar API。