Публикация научных статей.
Вход на сайт
E-mail:
Пароль:
Запомнить
Регистрация/
Забыли пароль?

Научные направления

Поделиться:
Разделы: Информационные технологии
Размещена 01.07.2026. Последняя правка: 26.06.2026.
Просмотров - 70

ПРОЕКТИРОВАНИЕ ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ АНАЛИЗА ПАРАМЕТРОВ ВИРТУАЛЬНОЙ МАШИНЫ JAVA НА ОСНОВЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ

Халилов Айдар Ринатович

МИРЭА - Российский технологический университет

студент

Огарок Андрей Леонтиевич, кандидат технических наук, доцент, старший научный сотрудник, кафедра №231 информационных процессов и систем, МИРЭА – Российский технологический университет


Аннотация:
В статье рассматривается подход к проектированию интеллектуальной системы анализа параметров виртуальной машины Java. Предложена архитектура системы, интегрированной с Prometheus, Kubernetes и сервисом машинного обучения. Для анализа телеметрических данных используется модель Gradient Boosting Classifier, позволяющая классифицировать состояние среды выполнения Java-приложения на основе эксплуатационных метрик. Предложенный подход направлен на автоматизацию анализа состояния JVM и поддержку принятия решений при эксплуатации распределённых Java-приложений.


Abstract:
The paper presents an approach to designing an intelligent system for analyzing Java Virtual Machine parameters. The proposed architecture integrates Prometheus, Kubernetes, and a machine learning service. A Gradient Boosting Classifier is used to analyze telemetry data and classify the runtime state of Java applications based on operational metrics. The approach aims to automate JVM state analysis and support decision-making in the operation of distributed Java applications.


Ключевые слова:
информационная система; виртуальная машина Java; телеметрические данные; мониторинг приложений; Kubernetes; машинное обучение; градиентный бустинг; Prometheus; Micrometer; анализ производительности JVM

Keywords:
information system; Java Virtual Machine; telemetry data; application monitoring; Kubernetes; machine learning; gradient boosting; Prometheus; Micrometer; JVM performance analysis


УДК 004.891.3

Введение.

Современные корпоративные информационные системы всё чаще функционируют в распределённых вычислительных средах с использованием технологий контейнеризации и оркестрации. Одной из наиболее распространённых платформ разработки серверных приложений является Java, а их развертывание всё чаще осуществляется в Kubernetes-кластерах [7]. В этих условиях обеспечение высокой производительности и стабильности приложений напрямую зависит от корректной настройки параметров виртуальной машины Java (JVM) [1], определяющих управление памятью, работу сборщика мусора и использование вычислительных ресурсов.

В процессе эксплуатации Java-приложений непрерывно формируется значительный объём телеметрических данных, характеризующих состояние среды выполнения и поведение приложения. Анализ таких данных позволяет выявлять снижение производительности, обнаруживать признаки неэффективной конфигурации JVM и принимать решения по её оптимизации. Однако существующие системы мониторинга преимущественно ориентированы на сбор и визуализацию метрик, тогда как интерпретация результатов и подбор оптимальных параметров виртуальной машины остаются задачей технических специалистов.

Актуальность.

Актуальность исследования обусловлена необходимостью автоматизации процессов анализа телеметрических данных и формирования рекомендаций по настройке параметров виртуальной машины Java. Применение методов машинного обучения позволяет перейти от традиционного мониторинга к интеллектуальному анализу состояния приложений, обеспечивая своевременное выявление отклонений и поддержку принятия решений при оптимизации параметров JVM. Разработка интеллектуальной системы, интегрированной с существующей инфраструктурой мониторинга и платформой Kubernetes, позволяет повысить эффективность эксплуатации распределённых Java-приложений, сократить трудоёмкость анализа телеметрических данных и снизить зависимость от ручной интерпретации результатов мониторинга.

Целью исследования является разработка архитектуры интеллектуальной системы анализа параметров виртуальной машины Java, обеспечивающей автоматизацию обработки телеметрических данных и формирование рекомендаций по оптимизации параметров среды выполнения Java-приложений на основе методов машинного обучения.

Для достижения поставленной цели необходимо решить следующие задачи:

  1. провести анализ существующих подходов к мониторингу и оптимизации параметров виртуальной машины Java.
  2. разработать архитектуру интеллектуальной системы, интегрированной с системой мониторинга Prometheus и инфраструктурой Kubernetes.
  3. предложить подход к интеллектуальному анализу телеметрических данных с использованием модели машинного обучения для классификации состояния среды выполнения Java-приложений.

Научная новизна исследования заключается в предложении подхода к интеллектуальному анализу телеметрических данных виртуальной машины Java, основанного на интеграции системы мониторинга, платформы контейнерной оркестрации Kubernetes и модели машинного обучения для классификации состояния среды выполнения Java-приложений. В отличие от существующих подходов, ориентированных преимущественно на сбор и визуализацию метрик, предложенное решение обеспечивает автоматизированную интерпретацию телеметрических данных и формирование рекомендаций по оптимизации параметров JVM на основе результатов интеллектуального анализа.

Архитектура интеллектуальной системы анализа параметров JVM.

Предлагаемая интеллектуальная система предназначена для автоматизации анализа телеметрических данных, характеризующих состояние виртуальной машины Java, и формирования рекомендаций по оптимизации её параметров. Система интегрируется с существующей инфраструктурой мониторинга и развертывания приложений, что позволяет использовать её без внесения изменений в логику функционирования целевых Java-приложений. Верхнеуровневая архитектура предлагаемой системы представлена в виде контекстной диаграммы C4 (Container View) [8], отражающей состав основных компонентов системы и их взаимодействие (см. Рисунок 1).

Рисунок 1 — Архитектура интеллектуальной системы C4

В состав системы входят следующие основные компоненты:

  • Java-приложение. Представляет собой целевое приложение, для которого выполняется анализ состояния виртуальной машины Java. С использованием модулей Spring Boot Actuator и Micrometer приложение публикует телеметрические данные, отражающие состояние среды выполнения, включая показатели использования памяти, активности сборщика мусора, загрузки процессора и состояния потоков выполнения [2–3].
  • Prometheus. Выполняет централизованный сбор, хранение и предоставление телеметрических данных. Получение метрик осуществляется посредством периодического опроса интерфейса мониторинга Java-приложения, после чего накопленные данные становятся доступными для последующего анализа [4].
  • Основной Java-сервис. Является центральным компонентом системы. Сервис получает агрегированные метрики из Prometheus, выполняет их предварительную обработку, формирует вектор признаков и передаёт его в сервис машинного обучения. После получения результата классификации сервис формирует рекомендации по настройке параметров JVM, сохраняет результаты анализа в базе данных и инициирует применение сформированной конфигурации через интерфейс взаимодействия со средой исполнения приложений.
  • ML-сервис. Представляет собой отдельный сервис, реализованный на языке Python. Он выполняет этап прогнозирования (inference) с использованием предварительно обученной модели машинного обучения. На вход сервис получает сформированный вектор признаков в формате JSON, а результатом работы сервиса является определение наиболее вероятного класса состояния виртуальной машины Java.
  • Обученная модель машинного обучения. Используется ML-сервисом для определения текущего состояния JVM. Модель предварительно обучается на наборе телеметрических данных и сохраняется в сериализованном виде, что позволяет использовать её для многократного выполнения классификации без повторного обучения.
  • База данных метаданных. Предназначена для хранения сведений о выполненных запусках анализа, параметрах анализируемых приложений, результатах работы модели машинного обучения и сформированных рекомендациях по оптимизации параметров виртуальной машины Java.

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

Метод интеллектуального анализа телеметрических данных.

Полученные системой мониторинга телеметрические данные используются в качестве исходной информации для интеллектуального анализа состояния виртуальной машины Java. Основной целью предлагаемого метода является автоматизированная классификация текущего состояния среды выполнения на основе совокупности эксплуатационных показателей.

На первом этапе выполняется получение агрегированных телеметрических данных из системы мониторинга Prometheus, которая накапливает метрики, публикуемые Java-приложением средствами Spring Boot Actuator и Micrometer [2–4]. Для анализа используются показатели, характеризующие использование памяти, активность сборщика мусора, загрузку процессора и состояние потоков выполнения.
В Таблице 1 представлены примеры телеметрических данных, используемых при формировании входного набора признаков модели машинного обучения.

Таблица 1 — Примеры метрик, используемых системой

Группа метрик Пример метрики Характеризуемый показатель
Использование памяти jvm_memory_used_bytes{area="heap"} Использованный объём памяти в куче
  jvm_memory_max_bytes{area="heap"} Максимальный доступный объём памяти в куче
Работа сборщика мусора jvm_gc_pause_seconds_sum Суммарное время пауз сборщика мусора
  jvm_gc_pause_seconds_count Количество пауз сборщика мусора
Загрузка процессора system_cpu_usage Использование процессора системой
  process_cpu_usage Использование процессора приложением
Потоки jvm_threads_live_threads Количество активных потоков
  jvm_threads_daemon_threads Количество потоков-демонов
Выделенная память jvm_memory_allocated_bytes_total Объём выделенной памяти

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

Для интеллектуального анализа состояния виртуальной машины Java используется алгоритм Gradient Boosting Classifier, реализованный в библиотеке scikit-learn [5, 6]. Выбор данного алгоритма обусловлен особенностями решаемой задачи. Телеметрические данные JVM представляют собой структурированный набор преимущественно числовых признаков, характеризующих использование вычислительных ресурсов и состояние среды выполнения приложения. Алгоритмы градиентного бустинга демонстрируют высокую эффективность при обработке табличных данных, обладают устойчивостью к различным диапазонам значений признаков и позволяют выявлять сложные нелинейные зависимости между входными параметрами и целевой переменной [6].

Дополнительным преимуществом выбранного алгоритма является возможность построения модели при относительно небольшом объёме обучающей выборки, что особенно важно на этапе разработки интеллектуальной системы, когда объём накопленных эксплуатационных данных ограничен. Кроме того, модель обеспечивает высокую скорость выполнения прогнозирования, что позволяет использовать её в системах анализа телеметрических данных, работающих в режиме, близком к реальному времени.

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

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

Заключение.

В работе предложен подход к проектированию интеллектуальной системы анализа параметров виртуальной машины Java, основанный на совместном использовании средств мониторинга, платформы контейнерной оркестрации Kubernetes и методов машинного обучения. Разработана архитектура системы, обеспечивающая автоматизированный сбор и обработку телеметрических данных, формирование вектора признаков и классификацию состояния среды выполнения Java-приложений. Использование модели градиентного бустинга позволяет выполнять комплексную оценку состояния виртуальной машины Java на основе совокупности эксплуатационных показателей.

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

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

Библиографический список:

1. Oracle. The Java® Virtual Machine Specification. Java SE 26 Edition. Redwood City : Oracle Corporation, 2026.
2. VMware. Spring Boot Reference Documentation. URL: https://docs.spring.io/spring-boot/documentation.html (дата обращения: 20.06.2026).
3. Micrometer Metrics. Micrometer Prometheus. URL: https://docs.micrometer.io/micrometer/reference/implementations/prometheus.html (дата обращения: 20.06.2026).
4. Prometheus Authors. Prometheus Documentation. URL: https://prometheus.io/docs/introduction/overview/ (дата обращения: 20.06.2026).
5. scikit-learn developers. GradientBoostingClassifier. URL: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html (дата обращения: 23.06.2026).
6. Friedman J. H. Greedy Function Approximation: A Gradient Boosting Machine // The Annals of Statistics. 2001. Vol. 29. No. 5. P. 1189–1232.
7. Kubernetes Authors. Kubernetes Documentation. URL: https://kubernetes.io/docs/home/ (дата обращения: 23.06.2026).
8. Brown S. The C4 Model for Visualising Software Architecture. URL: https://c4model.com/ (дата обращения: 24.06.2026).




Рецензии:

2.07.2026, 13:33 Мирзаев Номаз Мирзаевич
Рецензия: В условиях микросервисной архитектуры и контейнеризации Kubernetes классический пороговый мониторинг Java-приложений не справляется с динамическими нагрузками. Применение машинного обучения (ML) для анализа метрик JVM автоматизирует этот процесс и снижает эксплуатационные затраты. Разработан комплексный подход, связывающий сбор телеметрии в реальном времени (Micrometer, Prometheus) с ML-сервисом классификации состояний среды выполнения на базе алгоритма Gradient Boosting Classifier. Предложена масштабируемая архитектура распределения ресурсов. Разделение системы на Java-сервис сбора данных и Python-сервис машинного обучения позволяет внедрять решение в production-окружения без деградации производительности основных приложений. В качестве рекомендаций автору для будущих работ можно выделить следующие: 1. Раскрыть происхождение (синтетика, реальный трафик, логи) и объем обучающей выборки. 2. Было бы полезно привести численные показатели эффективности модели (например, F1-score, Precision, Recall) для обоснования превосходства градиентного бустинга над более простыми алгоритмами в данной задаче. В заключение отметим, что рецензируемая статья полностью соответствует требованиям к публикациям в научных журналах и рекомендуется к печати.



Комментарии пользователей:

Оставить комментарий


 
 

Вверх