Linux -- IO
iostat
is a simple tool to monitor disk activity and latency. I ran it inside an AWS EC2 instance, and output is shown below.
1
2
3
4
5
6
7
8
9
10
11
12
> iostat -d -x -m 1
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util
nvme0n1 6.00 0.05 0.00 0.00 3.17 8.00 2561.00 125.05 40.00 1.54 5.81 50.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14.89 100.00
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util
nvme0n1 59.00 0.48 0.00 0.00 2.05 8.27 2608.00 124.62 42.00 1.58 6.59 48.93 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.32 100.00
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util
nvme0n1 14.00 0.12 0.00 0.00 2.64 9.14 2566.00 124.72 48.00 1.84 6.09 49.77 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15.67 100.00
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util
nvme0n1 33.00 0.26 0.00 0.00 3.24 8.00 1925.00 124.94 47.00 2.38 9.57 66.46 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18.54 100.00
The above command prints io stats every second. Some important columns:
IPOS = r/s + w/s
which is in the range 2000 - 2500.throughput = rMB/s + wMB/s ~= 125MB/s
aqu-sz
: average queue length.%util
: bandwidth utilization for the device. 100% means device saturation. Usually, ifaqu-sz
is large, then%util
is 100%.
You can find corresponding monitoring graphs in the corresponding EC2 dashboard.
io_uring
This post is licensed under CC BY 4.0 by the author.