Общую загрузку cpu получал суммой вычисленных выше cpu_user и cpu_system.
Сравнивал результат с показанием в веб-интерфейсе кинетика. Примерно совпадало, динамика изменений - тоже.
Но сегодня обратил внимание, что нагрузка, полученная по SNMP перестала, соответствовать действительности.
Для теста нагрузил процессор командой "cat /dev/zero | bzip2 -c > /dev/null", запустил snmpwalk и увидел, что значения в CpuRawUser и ssCpuRawSystem не растут, а в ssCpuRawIdle, соответственно, не уменьшаются (как было ранее).
Думаю, что если перегружу железку, то опять станет нормально. Но пока этого делать не хочу, т.к. баг/фича сейчас воспроизводится.
Также увидел, что по отношению к версии 2.06, в 2.08 команда htop стала показывать 2 процессора (ядра):
Это так и должно быть? Не может быть тогда проблема связана с тем, что загрузка CPU по SNMP для второго "ядра" должна показываться в других счетчиках, например, ssCpuRawIdle.1, но при этом их в поддержки нет?
Также отмечаю, что значения Load Average, получаемые по SNMP, при этом соответствуют действительности (в данном примере не обращать внимания на несоответствие значений в выводе команды htop):
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.
Question
gvan
Обновился с тестовой версии 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Тему можно удалить.
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.