[Мои разработки] Динамический анализатор процессов
Этот инструмент представляет собой комплексное решение для мониторинга и анализа работающих процессов в системе. Он предоставляет графический интерфейс для визуализации различных метрик в реальном времени.
Возможности
Мониторинг памяти:
- Отслеживание использования RAM и виртуальной памяти
- Обнаружение утечек памяти
- Анализ резких скачков использования памяти
Профилирование CPU:
- Мониторинг общей загрузки CPU
- Анализ нагрузки по ядрам
- Отслеживание "горячих" потоков
- Выявление дисбаланса нагрузки
Анализ сетевой активности:
- Мониторинг входящего/исходящего трафика
- Отслеживание активных соединений
- Обнаружение подозрительных портов
- Анализ аномалий в сетевой активности
Системные вызовы:
- Отслеживание открытых файлов
- Мониторинг сетевых соединений
- Анализ системных операций
Установка
Установите необходимые зависимости:
pip install -r requirements.txt
Содержимое requirements.txt:
psutil>=5.9.0
numpy>=1.21.0
PyQt6>=6.4.0
pyqtgraph>=0.13.0
Использование
Запуск графического интерфейса:
python
gui_analyzer.py
Использование через командную строку:
python
dynamic_analyzer.py <имя_процесса> [длительность_в_секундах]
Например:
python
dynamic_analyzer.py chrome.exe 120
Интерфейс
Панель управления:
- Поле ввода имени процесса
- Кнопка "Начать анализ"
- Кнопка "Остановить"
- Индикатор статуса
Вкладки с графиками:
- Память: график использования памяти
- CPU: общая загрузка процессора
- Ядра CPU: нагрузка на каждое ядро
- Сеть: графики сетевой активности и соединений
Анализ аномалий
Инструмент автоматически обнаруживает различные типы аномалий:
1. Память:
- Резкие скачки использования
- Статистические выбросы
- Устойчивые тренды роста
2. CPU:
- Высокая загрузка ядер
- Дисбаланс нагрузки
- Проблемные потоки
3. Сеть:
- Аномальная скорость передачи данных
- Подозрительные порты
- Большое количество соединений
- Резкие скачки трафика
Логирование
Все события и аномалии записываются в лог-файл
Имя файла: analysis_YYYYMMDD_HHMMSS.log
Содержит подробную информацию о работе процесса
Включает предупреждения о потенциальных проблемах
Безопасность
Маскировка конфиденциальных данных в логах
Ограничение хранимой истории
Безопасное завершение при потере доступа к процессу
Рекомендации по использованию
1. Для разработчиков:
Отладка производительности приложений
Поиск утечек памяти
Оптимизация использования ресурсов
2. Для системных администраторов:
Мониторинг критических процессов
Выявление аномального поведения
Профилактика проблем с производительностью
3. Для анализа безопасности:
Обнаружение подозрительной активности
Мониторинг сетевых соединений
Анализ системных вызовов
Ограничения
Требуются права администратора для некоторых операций
Возможны ограничения доступа к системным процессам
Повышенное использование ресурсов при длительном мониторинге
Примечание
Инструмент предназначен для анализа и отладки, не рекомендуется использовать его постоянно на производственных системах из-за дополнительной нагрузки на систему.