Перейти к содержанию

Вопрос

Опубликовано (изменено)

Обновился с тестовой версии 2.06 с поддержкой SNMP на версию v2.08(AAFS.2)A9. Снимал показания загрузки CPU со следующих счетчиков:

UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 189927
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 144865
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 11349065

Далее по формуле, найденной в Сети, вычисляю загрузку процессора в процентах:

cpu_user=ssCpuRawUser*100/(ssCpuRawUser+ssCpuRawSystem+ssCpuRawIdle)

Таким же образом считаю для cpu_system и cpu_idle:

cpu_system=ssCpuRawSystem*100/(ssCpuRawUser+ssCpuRawSystem+ssCpuRawIdle)

cpu_idle=ssCpuRawIdle*100/(ssCpuRawUser+ssCpuRawSystem+ssCpuRawIdle)

Общую загрузку cpu получал суммой вычисленных выше cpu_user и cpu_system. 

Сравнивал результат с показанием в веб-интерфейсе кинетика. Примерно совпадало, динамика изменений - тоже.

Но сегодня обратил внимание, что нагрузка, полученная по SNMP перестала, соответствовать действительности.

Для теста нагрузил процессор командой "cat /dev/zero | bzip2 -c > /dev/null", запустил snmpwalk и увидел, что значения в CpuRawUser и ssCpuRawSystem не растут, а в ssCpuRawIdle, соответственно, не уменьшаются (как было ранее).

Думаю, что если перегружу железку, то опять станет нормально. Но пока этого делать не хочу, т.к. баг/фича сейчас воспроизводится.

Также увидел, что по отношению к версии 2.06, в 2.08 команда htop стала показывать 2 процессора (ядра):

  1  [|||||||||||||||||||||||||||||||||||||||||||||||||||         77.3%]   Tasks: 34, 29 thr; 2 running
  2  [|||||||||||||||||||||                                       29.9%]   Load average: 0.35 0.10 0.29 
  Mem[|||||||||||||||||||||||||||||||||                      59.0M/250M]   Uptime: 18:38:07
  Swp[                                                            0K/0K]

Это так и должно быть? Не может быть тогда проблема связана с тем, что загрузка CPU по SNMP для второго "ядра" должна показываться в других счетчиках, например, ssCpuRawIdle.1, но при этом их в поддержки нет?

Также отмечаю, что значения Load Average, получаемые по SNMP, при этом соответствуют действительности (в данном примере не обращать внимания на несоответствие значений в выводе команды htop):

UCD-SNMP-MIB::laLoad.1 = STRING: 0.26
UCD-SNMP-MIB::laLoad.2 = STRING: 0.62
UCD-SNMP-MIB::laLoad.3 = STRING: 0.52

 

Дополнение

Вопрос снят. Моя ошибка. Для расчета нужно брать не прямые значения ssCpuRawUser, ssCpuRawSystem, ssCpuRawIdle, а их разницу от предыдущих показаний.

Изменено пользователем gvan
Тему можно удалить.

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.