PDF

Monitoring Disk Parameters on Unix family systems

Read what disk performance metrics can be monitored on Linux, macOS, BSD, and Solaris.

Linux

Counters

  • Reads completed - The total number of reads completed successfully.

  • Reads merged - Reads adjacent to each other may be merged for efficiency. Thus two 4K reads may become one 8K read before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done.

  • Sectors read - The total number of sectors read successfully.

  • Read Bytes - The total number of bytes read successfully.

  • Milliseconds spent reading - The total number of milliseconds spent by all reads (as measured from __make_request() to end_that_request_last()).

  • Writes completed - The total number of writes completed successfully.

  • Writes merged - Writes which are adjacent to each other may be merged for efficiency. Thus two 4K writes may become one 8K write before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done.

  • Sectors written - The total number of sectors written successfully.
  • Write Bytes - The total number of bytes written successfully.
  • Milliseconds spent writing - The total number of milliseconds spent by all writes (as measured from __make_request() to end_that_request_last()).
  • I/Os currently in progress - The counter that should go to zero. Incremented as requests are given to appropriate struct request_queue and decremented as they finish.
  • Milliseconds spent on I/Os - This counter increases so long as I/Os currently in progress is nonzero.
  • Weighted milliseconds spent on I/Os - This counter is incremented at each I/O start, I/O completion, I/O merge, or read of these stats by the number of I/Os in progress I/Os currently in progress times the number of milliseconds spent doing I/O since the last update of this field. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating.
  • Transferred Bytes - The sum of Read Bytes and Write Bytes.
  • Transferred sectors - The sum of Sectors read and Sectors written.
  • Average requests size (Bytes) - The average size (in bytes) of the requests issued to the device.

Average queue length - The average queue length of the issued requests to the device. - Average time for I/O requests (ms) - The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by requests in the queue and the time spent servicing them. - Average read requests time (ms) - The average time (in milliseconds) for reading requests issued to the device to be served. This includes the time spent by requests in the queue and the time spent servicing them. - Average write requests time (ms) - The average time (in milliseconds) for write requests issued to the device to be served. This includes the time spent by requests in the queue and the time spent servicing them.

Calculated counters

  • Reads completed/sec - The total number of completed reads (requests).
  • Writes completed/sec - The total number of writes completed (requests).
  • Reads merged/sec - The total number of reads merged.
  • Writes merged/sec - The total number of writes merged.
  • Sectors read/sec - The total number of sectors read.
  • Sectors written/sec - The total number of sectors written.
  • Read Bytes/sec - The total number of bytes read successfully.
  • Write Bytes/sec - The total number of bytes written successfully.
  • Transferred Bytes/sec - The total number of bytes read and written.
  • Transferred sectors/sec - The total number of sectors read and written.

macOS

Counters

  • Completed I/Os - The sum of completed reads and writes.
  • Transferred Bytes - The sum of bytes read and written.

Calculated counters

  • The total number of completed I/Os/sec
  • The total number of bytes read and wrote/sec

BSD, Free BSD, Net BSD, Open BSD

Supported BSD distributions

  • FreeBSD: Reads completed, Read Bytes, Writes completed, Write Bytes, Completed I/Os, Transferred Bytes, Seconds spent on I/Os, Transactions queue length, Reads completed/sec, Writes completed/sec, Read Bytes/sec, Write Bytes/sec, Transferred Bytes/sec, Completed I/Os/sec
  • NetBSD: Reads completed, Read Bytes, Writes completed, Write Bytes, Completed I/Os, Transferred Bytes, Seconds spent on I/Os, Reads completed/sec, Writes completed/sec, Read Bytes/sec, Write Bytes/sec, Transferred Bytes/sec, Completed I/Os/sec
  • OpenBSD: Completed I/Os, Transferred Bytes, Seconds spent on I/Os, Transferred Bytes/sec, Completed I/Os/sec

Counters

  • Reads completed - The total number of reads completed successfully.
  • Read Bytes - The total number of bytes read successfully.
  • Writes completed - The total number of writes completed successfully.
  • Write Bytes - The total number of bytes written successfully.
  • Completed I/Os - The sum of Reads completed and Writes completed.
  • Transferred Bytes - The sum of Read Bytes and Write Bytes.
  • Seconds spent on I/Os - The total number of seconds spent by all reads and writes.
  • Transactions queue length.

Calculated counters

  • Reads completed/sec - The total number of completed reads (requests).
  • Writes completed/sec - The total number of writes completed (requests).
  • Read Bytes/sec - The total number of bytes read successfully.
  • Write Bytes/sec - The total number of bytes written successfully.
  • Transferred Bytes/sec - The total number of bytes read and written.
  • Completed I/Os/sec - The sum of Reads completed and Writes completed

Solaris

Solaris 10 and Solaris 11 are supported.

Counters

  • Reads completed - The total number of reads completed successfully.
  • Read Bytes - The total number of bytes read successfully.
  • Writes completed - The total number of writes completed successfully.
  • Write Bytes - The total number of bytes written successfully.
  • Completed I/Os - The sum of Reads completed and Writes completed.
  • Transferred Bytes - The sum of Read Bytes and Write Bytes.
  • Elements in wait state.
  • Elements in run state.
  • I/Os currently in progress - The sum of Elements in wait state and Elements in run state.
  • Milliseconds spent waiting - Cumulative wait (pre-service) time.
  • Weighted milliseconds spent waiting - Cumulative wait length*time product.
  • Milliseconds spent running - Cumulative run (service) time.
  • Weighted milliseconds spent running - Cumulative run length*time product.
  • Milliseconds spent on I/Os - The sum of Milliseconds spent waiting and Milliseconds spent running.
  • Weighted milliseconds spent on I/Os - The sum of Weighted milliseconds spent waiting and Weighted milliseconds spent running.
  • Soft errors - A disk sector fails the CRC check and needs to be re-read.
  • Hard errors - Re-read fails several times for CRC check.
  • Transport errors - Errors reported by I/O bus.
  • Total errors - The sum of Soft errors, Hard errors and Transport errors.
  • Average wait queue length.
  • Average run queue length.
  • Average transactions queue length - The average queue length of the requests issued to the device.
  • Average wait time for I/O requests (ms).
  • Average run time for I/O requests (ms).
  • Average time for I/O requests (ms) - The average time (in milliseconds) for I/O requests issued to the device to be served.
  • Average requests size (Bytes) - The average size (in bytes) of the requests issued to the device.

Calculated counters

  • Reads completed/sec - The total number of completed reads (requests).
  • Writes completed/sec - The total number of writes completed (requests).
  • Completed I/Os/sec - The total number of completed IO requests.
  • Read Bytes/sec - The total number of bytes read successfully.
  • Write Bytes/sec - The total number of bytes written successfully.
  • Transferred Bytes/sec - The total number of bytes read and written. bsddiskfree bsdlinuxmac os xmacosmonitorsolarisunix