The following are demonstrations of the rfsio.d script.
Here we trace file read() activity that has fully missed the cache and
must be read from disk,
# ./rfsio.d
Read IOPS (count)
/ logical 7
/extra1 physical 162
/boot logical 235
/boot physical 410
/extra1 logical 9514
Read Bandwidth (bytes)
/ logical 533
/boot logical 1502386
/boot physical 1512960
/extra1 physical 97153024
/extra1 logical 97228668
Total File System miss-rate: 100%
^C
The miss rate of 100% means that all of the file system activity missed
the cache, and had to read from disk.
The following demonstrates file read() activity to the root filesystem
that mostly returned from the file system cache.
# ./rfsio.d
Read IOPS (count)
/ physical 1
/extra1 physical 9
/devices logical 9
/ logical 15
/extra1 logical 4096
Read Bandwidth (bytes)
/devices logical 9
/ logical 949
/ physical 8192
/extra1 physical 917504
/extra1 logical 4194304
Total File System miss-rate: 22%
^C
The total miss-rate was 22%, which is based on the bytes transferred that
missed the cache.
Now for an unusual demonstration,
# ./rfsio.d
Read IOPS (count)
/devices logical 1
/ logical 10
/extra1 physical 106
/extra1 logical 6337
Read Bandwidth (bytes)
/devices logical 2
/ logical 961
/extra1 logical 64846450
/extra1 physical 66151424
Total File System miss-rate: 102%
^C
Here the miss-rate is 102%, which indicates that more data was read from
disk than was requested; this can occur due to UFS read-ahead, which
assists the performance of sequential disk activity at the small risk of
reading too much data.