The following is a demonstration of the diskhits command. Here we run diskhits on a large file, /extra1/contents with is 46 Mb, and currently hasn't been accessed (so isn't in any cache). While diskhits is running, the file is grep'd in another window. This causes the entire file to be read, # ./diskhits /extra1/contents Tracing... Hit Ctrl-C to end. ^C Location (KB), value ------------- Distribution ------------- count < 0 | 0 0 |@@ 47 2303 |@@ 41 4606 |@@ 41 6909 |@@ 42 9212 |@@ 41 11515 |@@ 41 13818 |@@ 42 16121 |@@ 43 18424 |@@ 42 20727 |@@ 41 23030 |@@ 41 25333 |@@ 41 27636 |@@ 41 29939 |@@ 42 32242 |@@ 44 34545 |@@ 41 36848 |@@ 41 39151 |@@ 41 41454 |@@ 41 43757 |@@ 40 >= 46060 | 0 Size (KB), value ------------- Distribution ------------- count 4 | 0 8 | 6 16 | 10 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 818 64 | 0 Total RW: 46064 KB Ok, so the file was read evently with each access around 32 to 63 Kb in size, and a total of 46 Mb read. This all makes sense, as it is reading the file for the first time. Now the same file is grep'd with diskhits running, this time we can see what effect caching the file has made, # ./diskhits /extra1/contents Tracing... Hit Ctrl-C to end. ^C Location (KB), value ------------- Distribution ------------- count 2303 | 0 4606 | 5 6909 |@ 67 9212 |@@@@ 170 11515 |@@@@@ 216 13818 |@@@@@ 224 16121 |@@@@@@ 287 18424 |@@@@@ 227 20727 |@@@ 144 23030 |@@ 75 25333 |@ 59 27636 |@ 42 29939 |@ 41 32242 |@ 44 34545 |@ 41 36848 |@ 41 39151 |@ 41 41454 |@ 41 43757 |@ 39 >= 46060 | 0 Size (KB), value ------------- Distribution ------------- count 2 | 0 4 |@@@@@@@@@@@@@@@@@@@@@@@@@ 1137 8 |@@@@@ 211 16 |@@ 111 32 |@@@@@@@@ 345 64 | 0 Total RW: 29392 KB The difference is dramatic. This time only 29 Mb is read, leaving around 17 Mb that was read from the cache. The way the file is read differs - in the later half of the file it looks the same, but in the first half there are many more events; oddly enough, this is because the early part of the file is cached more, the extra events are likely to be much smaller in size - as indicated in the difference in the size distribution. It appears that everything less that 4606 Kb has remained in the cache, with zero hits for that range.