Dear Miroslav,

> Am 20.06.2018 um 19:35 schrieb Miroslav Lachman <[email protected]>:
> 
> Holger Kipp wrote on 2018/06/20 17:37:
>> Dear Miroslav,
>> looking at the manpage for iostat I see:
>>            %b      % of time the device had one or more outstanding 
>> transactions
>>            tsvc_t/i
>>                    total duration of transactions per time period, in seconds
>>            sb/i    total time the device had one or more outstanding transac-
>>                    tions per time period, in seconds
>> So calculating the percentage using sb/i should be fairly easy.
> 
> If I understand it correctly, then it cannot be calculated from numbers 
> between two independent runs of "iostat -I -x" because it gives me sb/i 
> average from the boot time, so the calculated %b will be overall average 
> instead of average between two runs after 60 seconds.
> The only possible way to calculated is to run "iostat -I -x -c 2 -w 60" where 
> the sb/i value of the second line will be average of these last 60 seconds. 
> But it also means monitoring probe will wait 60 seconds to get this value 
> (each time) so it is the same problem as I described in my original post with 
> "iostat -x“


I haven’t thoroughly checked this myself (only a quick check), but with -I you 
should get the total values since boot. The man-page for OpenBSD states "The -I 
option causes iostat to print raw, unaveraged values.“ 

Eg. you have about 70.000 seconds where the devices ada0 and ada1 were busy, 
which equals 2%, so your system has an uptime of about 42 days.

Maybe you just check by getting values every 10 seconds, looking at sb/i and 
calculate the difference of two consecutive values, divide by the time period 
in seconds, multiply by 100 and have a percentage - with the downside of not 
being that accurate (as Warner Losh pointed out).

Best regards,
Holger

> Miroslav Lachman
> 
> 
>> Am 20.06.2018 um 16:55 schrieb Miroslav Lachman 
>> <[email protected]<mailto:[email protected]>>:
>> 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?
> 
> 

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"

Reply via email to