1

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?

elitalon
  • 209
  • 5
  • 15

1 Answers1

1

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.

BigChief
  • 398
  • 1
  • 2
  • 12
  • Why are the request stats non-integer numbers ? Doesn't it count the number of requests ? – Eugen Apr 18 '19 at 09:09