What's the best way to monitor overall disk seeks per second on a Linux server?
There are different tools to monitor disk performance on a Linux machine. If you want to see specific disk-related parameters, common tools such as iostat, vmstat and iotop might not give you all the information you need. They do have a big advantage though: It's easy to read the output that is generated by these tools.
For more detail, blktrace is an excellent tool, but it is not easy to use. To start, use the command blktrace --d /dev/sda --o disktrace. This writes the output of the blktrace command to a binary file with the name disktrace.
You can read the contents of this file by piping it to the blkparse command. If the results of the original blktrace command were written to the file disktrace, use blkparse disktrace- and then press the tab key for automatic completion of the file name to view the contents of that file and get all disk statistics to be visible.
For more specific information, you can use blktrace --a to filter specific information. For instance, blktrace --d /dev/sda --o diskqueue --a queue would create a file with the name diskqueue in the current directory and filter on queuing actions only.
Leave the command running for some time, and then interrupt it with Ctrl-C to create the file. You can check its contents using the blkparse command.
About the author:
Sander van Vugt is an independent trainer and consultant based in the Netherlands. He is an expert in Linux high availability, virtualization and performance. He has authored many books on Linux topics, including Beginning the Linux Command Line, Beginning Ubuntu LTS Server Administration and Pro Ubuntu Server Administration.
This was first published in April 2013