Похожие презентации:
Утилита мониторинга системных ресурсов CPU/GPU для Linux
1.
Утилита мониторингасистемных ресурсов
CPU/GPU для Linux
Исполнитель
Криволап К. А.
Студент группы КИ-22
Научный руководитель
ст. преподаватель
Сомов П. В.
2.
Постановка задачиЦель работы
Ключевые задачи
Создать самодостаточное Java-приложение для
● Проанализировать существующие решения;
мониторинга CPU и GPU в Linux, способное работать
● Спроектировать модульную архитектуру;
как в графическом, так и в консольном режиме.
● Реализовать сбор метрик через нативные
механизмы ОС;
● Создать адаптивный гибридный интерфейс.
3.
Актуальность проектаКомплексный контроль
Современные системы
требуют комплексного
контроля
производительности для
эффективной работы.
Единый инструмент
Разрозненность
существующих утилит
создает потребность в
едином, портативном
инструменте для быстрой
диагностики.
Решение проблемы
Наше приложение объединяет мониторинг CPU, GPU и процессов
в одном интерфейсе, решая проблему разрозненности.
4.
Предметная область: чтомы измеряем?
CPU
GPU
Процессы
Утилизация,
Утилизация,
Распределение
температура.
температура.
нагрузки CPU между
приложениями.
5.
Анализ рынка: существующие аналогиКонсольные утилиты (top, htop): Являются стандартом дефакто для мониторинга процессов, использования CPU и
памяти. htop предлагает улучшенный интерактивный
интерфейс. Главный недостаток — полное отсутствие
данных о GPU.
Рисунок 1 - Использование консольного top
6.
Анализ рынка: существующие аналогиГрафические мониторы рабочего стола (gnomesystem-monitor, KSysGuard): Интегрированы в среды
GNOME и KDE, предоставляют удобные графики, но
являются частью массивных программных
комплексов и не всегда доступны в минималистичных
или серверных установках.
Рисунок 2 - Утилита GNOME System Monitor
7.
Анализ рынка: существующие аналогиСпециализированные GPU-мониторы (nvtop, radeontop):
Высокоэффективные консольные инструменты для
детального анализа работы видеокарт NVIDIA и AMD.
Требуют отдельной установки и не предоставляют
информации о CPU, заставляя пользователя использовать
несколько утилит одновременно
Рисунок 3 - Утилита nvtop
8.
Выбранныйтехнологический стек
Ядро
Java 17+
Интерфейс
Java Swing
Сбор данных (CPU)
Библиотека OSHI
Сбор данных (GPU)
nvidia-smi (для NVIDIA) и Sysfs
(для AMD)
Сборка
Maven
9.
Архитектура: как это устроено?SystemInfoService
Мозг приложения, работающий в фоне.
CpuUtil и GpuUtil
"Руки", собирающие данные.
GUI и CLI
"Лица", отображающие результат.
Рисунок 4 - UML-диаграмма классов
10.
Архитектура: как это устроено?Определение среды
Приложение автоматически
определяет операционную среду.
Запуск интерфейса
Запускает подходящий графический
или консольный интерфейс.
Цикл сбора данных
Входит в непрерывный цикл сбора и
отображения данных.
Рисунок 5 - Блок схема
11.
Режимы работы и ключевые функцииГрафический режим (GUI)
Для систем, работающих в графической среде, приложение запускается в виде оконного интерфейса, реализованного с
помощью стандартной библиотеки Java Swing. Главное окно приложения спроектировано с целью предоставления
максимально полной информации в наглядной и структурированной форме.
● Секция "CPU Information": Отображает статическую информацию (модель, количество ядер
и потоков) и динамические метрики (общая загрузка и температура), которые
обновляются в реальном времени.
● График "CPU Load History": Сразу под информацией о CPU расположен динамический
график, построенный с помощью JFreeChart. Он отображает историю загрузки процессора
за последние 60 секунд, что позволяет визуально отслеживать скачки и общую динамику
производительности.
● Секция "GPU Information": Динамически генерирует отдельные блоки для каждой
обнаруженной в системе видеокарты. Каждый блок содержит название модели,
производителя, объем видеопамяти, а также текущие показатели утилизации и
температуры.
● График "GPU Load History": Аналогично процессорному, под информацией о GPU
расположен график, показывающий историю утилизации видеокарты. Графики CPU и GPU
имеют разный цвет линий для лучшего визуального различения.
Рисунок 6 - Главное окно утилиты
12.
Режимы работы и ключевые функцииГрафический режим (GUI)
● Окно "Top Processes": Вызывается по нажатию кнопки "Show/Hide Top Processes" и представляет собой таблицу JTable. В
ней отображается список наиболее ресурсоемких по CPU процессов с указанием их PID, процента загрузки CPU,
используемой оперативной памяти и полного имени. Таблица поддерживает сортировку по любому из столбцов.
Рисунок 7 - Окно "Top Processes"
13.
Режимы работы и ключевые функцииКонсольный режим (CLI)
При запуске в "headless" среде (например, на сервере через SSH), приложение автоматически переключается в
консольный режим. Этот интерфейс имитирует поведение популярных системных утилит, таких как htop, предоставляя
"живой" дашборд прямо в терминале.
Рисунок 8 - Консольный режим
14.
Итоги и перспективыРезультат
Создано универсальное и портативное приложение для
комплексного мониторинга системы в Linux.
Достижения
Реализована модульная архитектура, гибридный UI и сбор
детализированных метрик о CPU и GPU.
Информатика
Программное обеспечение