Как получить информацию о производительности диска? - PullRequest
0 голосов
/ 16 октября 2011

Как узнать производительность диска с помощью sigar, я знаю, что iostat возвращает использование диска, но мне нужна информация, связанная со скоростью записи и чтения на диск.

Собственный iostat в Unix возвращает эти данные, но я разрабатываю приложение, основанное на Java, где одной из целей является мультиплатформенность, и sigar до сих пор отлично работал.

Моя главная проблема - Windows, так что кто-то знает, как получить эту информацию в Sigar или даже в Windows?

Ответы [ 3 ]

4 голосов
/ 19 декабря 2012

Посмотрите на исходный код 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();


    }

}
0 голосов
/ 21 декабря 2016

Я так не думаю. Пожалуйста, ознакомьтесь с Sigar API.

0 голосов
/ 16 октября 2011

Я не знаю, что такое Sigar, но я думаю, что вы можете просто написать небольшое приложение, которое записывает необработанные данные (без какой-либо обработки) в файл или делает копию файла и измеряет время между ними. То же самое вы можете сделать это для чтения.

...