|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 21 Feb 2004 10:22:20 To : Alex Povolotsky Subject : Re: SNMP+cricket+FreeBSD - это лыжи? -------------------------------------------------------------------------------- >>> Alex Povolotsky wrote: AP> Я не понял, это я с ума сошел или весь мир? AP> Стоит net-snmp 5.0.какой-то, и свежий cricket, и минимально попатченный AP> linux-boxen (из contrib'ов от cricket). И пытаюсь я мониторить им AP> процессор. AP> Hа трех разных машинах (!) сумма idle+nice+user+system с хорошей точностью AP> равна 128%. AP> При том, что алгоритм подсчета, вроде бы, прост, как грабли. AP> В ЧЕМ МОЖЕТ БЫТЬ ПРОБЛЕМА? В том, что код подсчёта писали идиоты, скорее всего. Проверить это можно запуском какого-нибудь процесса под профилировщиком: количество процентов должно резко вырасти до 1024. ;(( Суть в чём. Есть прерывание statclock, по которому инкрементируется счётчик того состояния, в котором найден процессор. Его темп - 128 Гц без профилирования и 1024 с оным. (Всё сказанное про темпы - для x86 с живым RTC и без apm device flag 0x20.) Корректный алгоритм получения загрузок следующий: взять предыдущие состояния всех 5 счётчиков (idle, nice, user, system, intr), взять текущие, просуммировать разности и каждую из разностей разделить на сумму разностей. В таком виде оно будет работать для всех случаев включая включение/выключение профилирования в этот период. Если где-то нарушено (кто-то решил вдруг, что можно соптимизировать и делитель заменить на чёткое 100) - жди именно такого результата как увидел. -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/73685f27af52.html, оценка из 5, голосов 10
|