|
1 | 1 | I/O statistics fields
|
2 | 2 | ---------------
|
3 | 3 |
|
4 |
| -Last modified Sep 30, 2003 |
5 |
| - |
6 | 4 | Since 2.4.20 (and some versions before, with patches), and 2.5.45,
|
7 | 5 | more extensive disk statistics have been introduced to help measure disk
|
8 | 6 | activity. Tools such as sar and iostat typically interpret these and do
|
@@ -46,11 +44,12 @@ the above example, the first field of statistics would be 446216.
|
46 | 44 | By contrast, in 2.6 if you look at /sys/block/hda/stat, you'll
|
47 | 45 | find just the eleven fields, beginning with 446216. If you look at
|
48 | 46 | /proc/diskstats, the eleven fields will be preceded by the major and
|
49 |
| -minor device numbers, and device name. Each of these formats provide |
| 47 | +minor device numbers, and device name. Each of these formats provides |
50 | 48 | eleven fields of statistics, each meaning exactly the same things.
|
51 | 49 | All fields except field 9 are cumulative since boot. Field 9 should
|
52 |
| -go to zero as I/Os complete; all others only increase. Yes, these are |
53 |
| -32 bit unsigned numbers, and on a very busy or long-lived system they |
| 50 | +go to zero as I/Os complete; all others only increase (unless they |
| 51 | +overflow and wrap). Yes, these are (32-bit or 64-bit) unsigned long |
| 52 | +(native word size) numbers, and on a very busy or long-lived system they |
54 | 53 | may wrap. Applications should be prepared to deal with that; unless
|
55 | 54 | your observations are measured in large numbers of minutes or hours,
|
56 | 55 | they should not wrap twice before you notice them.
|
@@ -96,11 +95,11 @@ introduced when changes collide, so (for instance) adding up all the
|
96 | 95 | read I/Os issued per partition should equal those made to the disks ...
|
97 | 96 | but due to the lack of locking it may only be very close.
|
98 | 97 |
|
99 |
| -In 2.6, there are counters for each cpu, which made the lack of locking |
100 |
| -almost a non-issue. When the statistics are read, the per-cpu counters |
101 |
| -are summed (possibly overflowing the unsigned 32-bit variable they are |
| 98 | +In 2.6, there are counters for each CPU, which make the lack of locking |
| 99 | +almost a non-issue. When the statistics are read, the per-CPU counters |
| 100 | +are summed (possibly overflowing the unsigned long variable they are |
102 | 101 | summed to) and the result given to the user. There is no convenient
|
103 |
| -user interface for accessing the per-cpu counters themselves. |
| 102 | +user interface for accessing the per-CPU counters themselves. |
104 | 103 |
|
105 | 104 | Disks vs Partitions
|
106 | 105 | -------------------
|
|
0 commit comments