Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am monitoring the IO and SWAP usage of a process in my backup server. I executed dstat -rs 5 and this was an example output:

--io/total- ----swap---
 read  writ| used  free
92.0  57.3 |3228k  514M
 289   104 |3468k  514M
 270   202 |3472k  514M
 363   184 |3612k  514M
 237   124 |3740k  514M
 377   302 |4168k  514M
 113  24.6 |4916k  513M
 153   118 |4992k  513M
 263  32.6 |6088k  512M
 295   242 |6332k  511M

The values from swap columns are pretty straightforward. But what do the values from io/total mean? Which unit is being used and what are the range of this measurement?

share|improve this question
up vote 1 down vote accepted

From the manpage:

-r, --io

enable I/O request stats (read, write requests)

These are read and write requests issued to all block devices in the system:

Dstat is unique in letting you aggregate block device throughput for a certain diskset or network bandwidth for a group of interfaces, ie. you can see the throughput for all the block devices that make up a single filesystem or storage system.

Requests are just a count, so they they don't have units like MB/s, sectors/s etc. For those numbers try iostat.

As far as a range, it depends entirely on the device(s) in question and the type of requests. Generally I find requests good indicators of traffic but little else. As an alternative, dstat with the -c flag lets you see wait% of CPU, which is how long the CPU is waiting for IO requests to return and is a more tangible metric as far as impact on your system / workload.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.