Disk I/O Performance Issues
Disk I/O is the third major performance bottleneck that can affect a system or individual job. This section will look first at the tools for monitoring disk I/O and then consider some of the factors that can affect disk I/O performance.
Monitoring Disk I/O Performance
Unfortunately, Unix tools for monitoring disk I/O data are few
and rather poor. BSD-like systems provide the iostat command (all but Linux have some version of it). Here
is an example of its output from a FreeBSD system experiencing
moderate usage on one of its two disks:
$ iostat 6
tty ad0 ad1 cd0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 13 31.10 71 2.16 0.00 0 0.00 0.00 0 0.00 0 0 11 2 87
0 13 62.67 46 2.80 0.00 0 0.00 0.00 0 0.00 0 0 10 2 88
0 13 9.03 64 0.56 0.00 0 0.00 0.00 0 0.00 1 0 7 1 91
0 13 1.91 63 0.12 0.00 0 0.00 0.00 0 0.00 2 0 4 2 92
0 13 2.29 64 0.14 0.00 0 0.00 0.00 0 0.00 2 0 5 1 92The command parameter specifies the interval between reports (and we’ve omitted the first, summary one, as usual). The columns headed by disk names are the most useful for our present purposes. They show current disk usage as the number of transfers/sec (tps) and MB/sec.
System V-based systems offer the sar command, and it can be used to monitor
disk I/O. Its syntax in this mode is:
$sar-dinterval [count]
interval is the number of seconds between
reports, and count is the total number of reports
to produce (the default is one). In general, sar’s options specify what ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access