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