Hi,
ReadBytes is a counter, so you'll need to compare the difference over time. For example:
Sigar sigar = new Sigar();
long prevTime = 0;
long prevBytes = 0;
final long interval = 1 * 1000;
while (true) {
long time = System.currentTimeMillis();
long bytes = sigar.getDiskUsage("D:").getReadBytes();
if (prevTime != 0) {
long rate = (bytes - prevBytes) / ((time - prevTime) / interval);
System.out.println("disk read bytes per second=" + Sigar.formatSize(rate));
}
prevTime = time;
prevBytes = bytes;
Thread.sleep(interval);
}
|