1N/A**************************************************************************
1N/A* The following are additional notes on the iotop program.
1N/A*
1N/A* $Id: iotop_notes.txt 44 2007-09-17 07:47:20Z brendan $
1N/A*
1N/A* COPYRIGHT: Copyright (c) 2007 Brendan Gregg.
1N/A**************************************************************************
1N/A
1N/A
1N/A* When using -P, how can a process exceed 100% I/O?
1N/A
1N/AThese percentages are based on disk time. They are in terms of a single disk.
1N/A
1N/A200% could mean 2 disks @ 100%, or 4 @ 50%, or some such combination.
1N/A
1N/AI could have capped it at 100% by dividing by disk count. I didn't. Disk
1N/Autilisation is an asymmetric resource (unlike CPUs, which are (mostly)
1N/Asymmetric), so it's unfair to divide by all the disks capacity as an
1N/Aapplication cannot use every disks capacity (eg, writing to a /opt disk only).
1N/A
1N/AWould it be wise to report utilisation as 10% of overall capacity, if it
1N/Acould mean that 1 disk was SATURATED out of ten? A value of 10% could
1N/Aunderstate the problem.
1N/A
1N/AInstead I add the utilisations and don't divide. 1 disk saturated out of 10
1N/Awould be reported as 100% utilisation. This has the danger of overstating
1N/Athe problem (consider all ten disks at 10% utilisation, this would also be
1N/Areported as 100%).
1N/A
1N/ANothing is perfect when you are summarising to a single value!
1N/A
1N/A
1N/A
1N/A* Beware of overcounting metadevices, such as SVM and Veritas.
1N/A
1N/AThe current version of iotop reports on anything the kernel believes to be
1N/Aa block disk device. A problem happens when a metadevice contains physical
1N/Adisk devices, and iotop reports on activity to both the metadevice and
1N/Athe physical devices, which overcounts activity.
1N/A
1N/AConsider a metadevice that contains two physical disks which are both
1N/Arunning at 100% utilised. iotop -P may report 300% utilisation, which is
1N/A200% for the disks + 100% for the metadevice. We'd probably want to see
1N/Aa value of 200%, not 300%. Eliminating the counting of metadevices in DTrace
1N/Aisn't easy (without inelegant "hardwiring" of device types), however I do
1N/Aintend to find a way to fix this in future versions.
1N/A
1N/A