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

Требования OneAgent

  • Latest Dynatrace

Требования OneAgent к процессору для архитектуры x86-64

В этом разделе описаны характеристики процессора для запуска Dynatrace OneAgent. Соответствие вашей системы этим требованиям необходимо для надёжной и эффективной работы.

Минимальный поддерживаемый уровень микроархитектуры: x86-64-v2

Бинарные файлы Dynatrace OneAgent зависят от поддержки инструкций, включённых в уровень микроархитектуры x86-64-v21.

1

Версия Dynatrace OneAgent, в которой это требование вступит в силу, будет объявлена в будущем выпуске.

Intel

Nehalem была первой архитектурой Intel, полностью поддерживающей базовый уровень x86-64-v2. Дополнительную информацию см. в спецификации продуктов Intel.

Примеры процессоров Intel:

  • Intel Core i7-920 — настольный (LGA 1366)
  • Intel Xeon X5550 — серверный (LGA 1366)
  • Intel Core i5-750 — массовый настольный (LGA 1156)
  • Intel Xeon L5520 — серверный с низким энергопотреблением

AMD

Bulldozer и его последователи поддерживают базовый уровень x86-64-v2. Для некоторых процессоров поддержка была добавлена на определённом степпинге. Дополнительную информацию см. в спецификации продуктов AMD.

Примеры процессоров AMD:

  • AMD FX-4100 — настольный (AM3+)
  • AMD Opteron 6200 Series — серверный (Socket G34)
  • AMD A8-3870K — APU (FM1)
  • AMD FX-8350 — высокопроизводительный настольный (AM3+)

  • x86-64-v2 — это базовый уровень, включающий поддержку инструкций SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT и CMPXCHG16B.

  • Системы, не соответствующие базовому уровню x86-64-v2, не смогут запустить Dynatrace OneAgent.
  • В виртуализированных окружениях необходимо убедиться, что включена сквозная передача функций процессора для соответствия требованиям микроархитектуры.

Требования OneAgent к памяти

Глубокий мониторинг приложения с помощью Dynatrace OneAgent подразумевает увеличение потребности в памяти на приложение по сравнению с выполнением без Dynatrace OneAgent. Помимо памяти, необходимой для загрузки двоичного кода модуля OneAgent в процесс приложения, память также используется для поддержания информации о состоянии мониторируемого приложения, буферов связи и т. д.

Потребность в памяти не является постоянной величиной или пропорцией требований к памяти приложения, а зависит от технологии, конфигурации мониторинга, свойств приложения и выполняемой нагрузки. Дополнительные сведения о потреблении памяти см. в разделе О вариативности потребления памяти ниже.

Требования к памяти модуля кода OneAgent

Как описано выше, потребление памяти при мониторинге зависит от множества факторов. Для упрощения планирования ресурсов мы рекомендуем предусмотреть дополнительный бюджет памяти в 200 МБ для мониторируемых процессов приложений. Этого числа будет достаточно для мониторинга подавляющего большинства приложений. Эмпирические наблюдения показывают, что потребление памяти для большинства приложений значительно ниже 100 МБ.

Потребление памяти при мониторинге относится к размеру резидентного набора (RSS) или эквивалентной метрике в операционных системах, отличных от Linux. RSS является ключевым показателем для применения ограничений памяти к процессам.

Ограничения памяти на облачных платформах

Kubernetes и другие облачные платформы позволяют определять ограничения памяти для рабочих нагрузок. Определённые ограничения применяются (грубо говоря) к RSS, и рабочие нагрузки автоматически завершаются при превышении определённого ограничения памяти.

Поскольку модули кода Dynatrace OneAgent увеличивают потребление памяти мониторируемых приложений, ограничения памяти должны быть скорректированы соответствующим образом.

О вариативности потребления памяти

Потребление памяти при глубоком мониторинге модулем кода OneAgent не может быть точно выражено как постоянная величина или пропорция памяти, потребляемой процессом приложения. Оно складывается из памяти, необходимой для базовой работы модуля кода OneAgent (например, буферы связи), и динамических данных мониторинга, собираемых модулями кода OneAgent. Потребление памяти динамическими данными мониторинга зависит от настроек конфигурации, базовой технологии приложения и самого приложения.

Потребление памяти, зависящее от приложения

Видимость на уровне кода и анализ горячих точек требуют записи времени и частоты выполнения функций. Следовательно, количество функций в приложении и их выполнение определяет количество элементов данных и, в конечном итоге, объём памяти, необходимый для измерения производительности функций. То же самое относится к информации о распределённых трассировках — потребление памяти для сбора информации о распределённых трассировках зависит от количества одновременных запросов, обрабатываемых приложением, и сложности (то есть длины PurePath) выполнений, инициированных этими запросами.

Потребление памяти, зависящее от конфигурации

Мониторинг пользовательских сервисов является примером потребления памяти, зависящего от конфигурации мониторинга. Определение пользовательского сервиса увеличивает базовый бюджет памяти для инструментирования выбранных функций и динамический бюджет памяти для увеличенного объёма данных распределённых трассировок, собираемых для вызовов пользовательских сервисов. В технологии .NET инструментирование дополнительных сборок для пользовательского сервиса может значительно увеличить потребление памяти при запуске (см. ниже).

Потребление памяти, зависящее от технологии

Модули кода OneAgent оптимизированы для эффективного использования памяти и освобождения ресурсов, когда они больше не нужны, чтобы минимально нагружать выполнение приложения. Таким образом, потребление памяти может варьироваться в течение времени выполнения приложения.

В зависимости от модуля кода OneAgent, потребление памяти может достигать пика при запуске приложения. Это особенно актуально для технологии .NET. Подготовка сборок .NET для мониторинга вызывает пиковое потребление памяти, поскольку код сборки временно находится в памяти в двух экземплярах. После завершения процесса внедрения среда выполнения .NET сохраняет в памяти как оригинальные сборки, так и инструментированные версии логики приложения. Это известная особенность технологии Microsoft .NET, которая не может быть устранена Dynatrace OneAgent.