Jump to content
  • 0

Неправильные SNMP счетчики загрузки процесса


gvan

Question

Обновился с тестовой версии 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, а их разницу от предыдущих показаний.

Edited by gvan
Тему можно удалить.
  • Thanks 1
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...