iostat busy value calculation

Miroslav Lachman 000.fbsd at quip.cz
Wed Jun 20 15:06:02 UTC 2018


I would like to know how the value of disk "busy" is calculated?

I want to use values from iostat in the monitoring (zabbix).
iostat shows averages by default and the last column is "busy %", but 
the first output contains averages from the system boot til now.

# iostat -x -t da
                         extended device statistics
device     r/s   w/s    kr/s    kw/s qlen svc_t  %b
ada0       2.5  13.8    49.0   287.9    0  45.7   2
ada1       2.6  13.8    51.7   287.9    0  39.6   2

I don't want to use "iostat -x -t da -w 20" to get averages of the last 
20 seconds because it means monitoring needs to wait 20 seconds on each run.

I can use absolute values from iostat. This output is without any delay 
and the monitoring SW can calculate averages between two runs. But the 
last column is no busy %, it is sb/i.

# iostat -I -x -t da
                         extended device statistics
device           r/i         w/i         kr/i         kw/i qlen 
tsvc_t/i      sb/i
ada0       7403218.0  40825749.0  144647824.0  849655694.0    0 
2204904.2   73121.8
ada1       7537423.0  40825749.0  152643874.5  849655694.0    0 
1914301.0   69996.5

So the question is - If I want to plot "busy %" in the graph - how the 
"busy" value in the first example is calculated?
Is it possible to calculate it from the numbers that I have from "iostat 
-I -x" and the know time interval between two runs?

Miroslav Lachman


More information about the freebsd-stable mailing list