Как рассчитать% CPU на основе сырых тиков CPU в SNMP
Согласно http://net-snmp.sourceforge.net/docs/mibs/ucdavis.html#scalar_notcurrent ssCpuUser
, ssCpuSystem
, ssCpuIdle
и т.д., являются устаревшими в пользу сырьевых вариантов ( ssCpuRawUser
и т.д.).
Прежние значения (которые не охватывают такие вещи, как nice, wait, kernel, interrupt и т. Д.) Возвращали процентное значение:
Процент процессорного времени, потраченного на обработку кода пользовательского уровня, рассчитанный за последнюю минуту.
Этот объект устарел в пользу '
ssCpuRawUser(50)
', который можно использовать для вычисления той же метрики, но за любой требуемый период времени.
Необработанные значения возвращают «сырое» количество тиков, потраченных ЦП:
Количество «тиков» (обычно 1/100) затрачено на обработку кода уровня пользователя.
В многопроцессорной системе
ssCpuRaw*
счетчики ' ' накапливаются по всем процессорам, поэтому их сумма обычно составляет N * 100 (для N процессоров).
Мой вопрос: как вы превращаете количество тиков в процентах?
То есть, как вы узнаете, сколько тиков в секунду (это обычно - что подразумевается не всегда - 1/100 с, что либо означает 1 каждые 100 секунд, либо тик представляет 1/100-ю секунды).
Я полагаю, вам также нужно знать, сколько процессоров существует, или вам нужно получить все значения процессоров, чтобы сложить их все вместе. Я не могу найти MIB, который дает целочисленное значение для числа процессоров, что делает предыдущий маршрут неудобным. Последний маршрут кажется ненадежным, потому что некоторые цифры перекрываются ( иногда ). Например, ssCpuRawWait
имеет следующее предупреждение:
Этот объект не будет реализован на хостах, где базовая операционная система не измеряет эту конкретную метрику ЦП. Это время также может быть включено в
ssCpuRawSystem(52)
счетчик.
Некоторая помощь будет оценена. Везде, кажется, просто говорят, что% устарел, потому что он может быть получен, но я не нашел нигде, который показывает официальный стандартный способ для выполнения этого вывода.
Второй компонент заключается в том, что эти «отметки» кажутся совокупными, а не в течение некоторого периода времени. Как мне выбрать значения за некоторый период времени?
Основная информация, которую я хочу получить:% пользователя, системы, простоя, приятного (и в идеале воровства, хотя для этого не существует стандартного MIB) «в настоящее время» (в течение последних 1–60-х годов, вероятно, было бы достаточно, с предпочтением меньших временных интервалов).
0 ответов на вопрос
Похожие вопросы
-
5
Существуют ли беспроводные маршрутизаторы, которые позволяют контролировать и регулировать пропускну...
-
8
Должен ли я выбрать 32 или 64 бит для Linux?
-
12
Процессорные ядра: чем больше, тем лучше?
-
-
5
Почему мой компьютер начинает загружаться, а затем внезапно выключается?
-
2
Максимальная температура процессора для Core 2 Duo E6400
-
4
Насколько быстро каждое ядро в двухъядерном процессоре?
-
7
Могу ли я уменьшить скорость процессора моего MacBook при работе от батареи?
-
2
Предлагает ли Intel i7 реальное улучшение по сравнению со своими предшественниками?
-
4
Может ли 32-битная ОС работать на 64-битном процессоре?
-
3
Возможно ли использовать процессор Intel Q8400 в моем ASUS P5N-EM HDMI mobo?