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]"
