xref: /netbsd-src/external/cddl/dtracetoolkit/dist/Docs/Notes/iotop_notes.txt (revision c29d51755812ace2e87aeefdb06cb2b4dac7087a)
1*c29d5175Schristos**************************************************************************
2*c29d5175Schristos* The following are additional notes on the iotop program.
3*c29d5175Schristos*
4*c29d5175Schristos* $Id: iotop_notes.txt,v 1.1.1.1 2015/09/30 22:01:08 christos Exp $
5*c29d5175Schristos*
6*c29d5175Schristos* COPYRIGHT: Copyright (c) 2007 Brendan Gregg.
7*c29d5175Schristos**************************************************************************
8*c29d5175Schristos
9*c29d5175Schristos
10*c29d5175Schristos* When using -P, how can a process exceed 100% I/O?
11*c29d5175Schristos
12*c29d5175SchristosThese percentages are based on disk time. They are in terms of a single disk.
13*c29d5175Schristos
14*c29d5175Schristos200% could mean 2 disks @ 100%, or 4 @ 50%, or some such combination.
15*c29d5175Schristos
16*c29d5175SchristosI could have capped it at 100% by dividing by disk count. I didn't. Disk
17*c29d5175Schristosutilisation is an asymmetric resource (unlike CPUs, which are (mostly)
18*c29d5175Schristossymmetric), so it's unfair to divide by all the disks capacity as an
19*c29d5175Schristosapplication cannot use every disks capacity (eg, writing to a /opt disk only).
20*c29d5175Schristos
21*c29d5175SchristosWould it be wise to report utilisation as 10% of overall capacity, if it
22*c29d5175Schristoscould mean that 1 disk was SATURATED out of ten? A value of 10% could
23*c29d5175Schristosunderstate the problem.
24*c29d5175Schristos
25*c29d5175SchristosInstead I add the utilisations and don't divide. 1 disk saturated out of 10
26*c29d5175Schristoswould be reported as 100% utilisation. This has the danger of overstating
27*c29d5175Schristosthe problem (consider all ten disks at 10% utilisation, this would also be
28*c29d5175Schristosreported as 100%).
29*c29d5175Schristos
30*c29d5175SchristosNothing is perfect when you are summarising to a single value!
31*c29d5175Schristos
32*c29d5175Schristos
33*c29d5175Schristos
34*c29d5175Schristos* Beware of overcounting metadevices, such as SVM and Veritas.
35*c29d5175Schristos
36*c29d5175SchristosThe current version of iotop reports on anything the kernel believes to be
37*c29d5175Schristosa block disk device. A problem happens when a metadevice contains physical
38*c29d5175Schristosdisk devices, and iotop reports on activity to both the metadevice and
39*c29d5175Schristosthe physical devices, which overcounts activity.
40*c29d5175Schristos
41*c29d5175SchristosConsider a metadevice that contains two physical disks which are both
42*c29d5175Schristosrunning at 100% utilised. iotop -P may report 300% utilisation, which is
43*c29d5175Schristos200% for the disks + 100% for the metadevice. We'd probably want to see
44*c29d5175Schristosa value of 200%, not 300%. Eliminating the counting of metadevices in DTrace
45*c29d5175Schristosisn't easy (without inelegant "hardwiring" of device types), however I do
46*c29d5175Schristosintend to find a way to fix this in future versions.
47*c29d5175Schristos
48*c29d5175Schristos
49