LINUX.ORG.RU
ФорумAdmin

Интервал обновления rate в выводе tc -s

 , ,


0

1

Хочу в реальном времени мониторить шейпинг. Для этого запускаю tc -s class ls dev. Но не устраивает, что счетчики rate обновляются раз в 4 секунды. Можно ли как-то изменить интервал обновления? Ни в мане, ни в гугле решения не нашел (может по диагонали читал, хз).

Спасибо.

★★

Похоже на раз в 2 секунды. Точно не 4.

А rate какой ? Я на мегабитах только смотрел.

Там все не очень просто. Оно расчитано на большое число классов и пересчет скорости для всех них - лишние накладные расходы. А при htb_rate_est=0 оно скорость вообще не расчитывает.

Если хочешь быстрее, то сам считай скорость.

vel ★★★★★ ()
Ответ на: комментарий от vel

Самому не хотелось городить велосипед, когда был уже готовый инструмент. Хотелось просто интервал обновления уменьшить. Rate на разных классах разный. но все в диапазоне 10-50 мбит.

as_lan ★★ ()
Ответ на: комментарий от as_lan
net/core/gen_new_estimator.c
int gen_new_estimator(...,param) {
...
        /* allowed timer periods are :
         * -2 : 250ms,   -1 : 500ms,    0 : 1 sec
         *  1 : 2 sec,    2 : 4 sec,    3 : 8 sec
         */
        if (parm->interval < -2 || parm->interval > 3)
                return -EINVAL;
...
}

net/sched/sch_htb.c

htb_change_class() {
...
   err = gen_new_estimator(&cl->bstats, NULL,&cl->rate_est, NULL,
                    qdisc_root_sleeping_running(sch),
                    tca[TCA_RATE] ? : &est.nla);
...
}

В tc за tca[TCA_RATE] отвечает параметр «estimator» который задается при создании класса и/или очереди.

Удачи :)

vel ★★★★★ ()
Последнее исправление: vel (всего исправлений: 1)