What does "% IO" mean in iotop?

2

I'm currently reading data from RAID and single hdd and monitoring speed with iotop. Numbers go like this:

RAID: 380MB/s 23% IO
HDD: 80MB/s 76% IO

How to interpret IO %?

Lapsio

Posted 2016-08-05T22:40:47.707

Reputation: 640

Answers

2

IO being short for Input/Output here. These are metrics of the maximum throughput the device can have, in both directions. At a certain point it's simply performing at it's maximum speed and cannot possibly do more work than it is at the time. This would create a bottleneck, causing either errors or wait states, while the requests that are over the maximum threshold will have to be queued, cached or delayed.

The raid array is, of course, a group of disks working together which is why it has a higher throughput but smaller percentage of maximum used when compared to a single drive.

Mimp

Posted 2016-08-05T22:40:47.707

Reputation: 174

So raid would be at 100% if it'd read 100% of speed of all drives but it's not possible because it's RAID right? – Lapsio – 2016-08-05T23:30:04.083

It's unlikely all drives would perform evenly causing the RAID array to be able to get to 100%. Depending on the RAID level and type of work the drives were performing it's possible you could get there or very close. – Mimp – 2016-08-05T23:37:47.850

I honestly don't know if parity calculations factor into how iotop calculates the maximums that a RAID entry can achieve. Take a RAID 6 array for example, it requires double parity calculations be performed for write actions. With a large array and a weak controller it's very possible the individual drives wouldn't have to work very hard to saturate the RAID controller's capability for calculations. – Mimp – 2016-08-05T23:42:37.490

I'm using soft btrfs RAID6 with 5 drives (not mdadm, native btrfs). CPU doesn't seem to be maxed but RAID is probably aware of all drives and their i/o capabilities. 380MB/s with RAID6 on 5 drives sounds quite okay. I don't think it's bottlenecked. On second thought maybe it's result of weird way btrfs is dealing with RAID because you mount just one drive of raid and btrfs handles "RAIDing" internally so other 4 drives are officially unmounted to linux. btrfs makes most of Linux io related apps work not correctly. – Lapsio – 2016-08-06T15:08:17.590

@Lapsio interesting, what is your iotop version? In iotop 0.6, Ubuntu 16.04, I don't see those strings, bur rather this: https://gist.github.com/cirosantilli/52d3315c9026074efd06c5b9c0d4dc36 Mimp, do you understand why the % sum there can be greater than 100%?

– Ciro Santilli 新疆改造中心法轮功六四事件 – 2018-12-20T17:06:51.543