I have got intel ssd(series 530, 480gb). Data from intel site:

Sequential Read - 540 MB/s

Sequential Write - 490 MB/s

Random Read - 48000 IOPS

Random Write - 80000 IOPS

Current load is about 5000 iops, 50 mbytes/sec read, 1 mbytes/sec write. Disk is used for database. Munin "disk utilization" plugin shows 50% of utilization. According to test munin calculate it correctly.

How can i calculate disk utilization from current iops, read and write speed?

disk utilization


From reading the diskstats plugin source, munin calculates the disk utilization percentage by looking at the total time spent doing IO over a given monitoring period. If the device is spending all it's time doing IO, then it's at 100% utilization. This is somewhat independent of actual IOPS and read/write speeds, as these will have a very access-pattern dependent effect. (I presume you're actually asking how munin calculates the utilization percentage, rather than specifically how to use IOPs and read/write sizes to calculate the same thing)

Munin gets this data from /proc/diskstats. The column in question is the 10th field after the device name (and munin does the usual thing of storing the value the first time it reads it, and the second time it reads it calculating the difference between the old and new values, in order to work out the delta over the monitoring period).

Documentation for /proc/diskstats is available here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.