Цель работы

Устранить сбой Out of memory (нехватка памяти) на сервере под управлением Ubuntu. Провести полную оптимизацию бэкенда, работающего с использованием Python и Docker.

Этапы выполнения

  • Аудит Docker-контейнеров:
    • Проверить запущенные и остановленные контейнеры.
    • Очистить систему от старых (неиспользуемых) образов, контейнеров и томов.
    • Освободить дисковое пространство, занятое логами и кэшами Docker.
  • Поиск и устранение утечки памяти (Memory Leak):
    • Проанализировать Python-код бэкенда на наличие некорректного управления памятью.
    • Выявить места, где объекты не освобождаются (циклические ссылки, утечки через глобальные переменные, неправильная работа с кэшем).
    • Исправить обнаруженные проблемы.
  • Оптимизация конфигурации:
    • Настроить лимиты памяти и CPU для каждого Docker-контейнера в соответствии с нагрузкой.
    • Проверить использование swap-файла и памяти на уровне ОС.
    • Оптимизировать настройки Python (memory profiler, сборщик мусора).
  • Результат: Система должна стабильно работать без частых сбросов (OOM Kill) с эффективным использованием ресурсов.

Требования на выходе

  • Отчёт о очистке Docker (объём освобождённого места).
  • Патч (или список изменений) в коде Python, устраняющий утечку памяти.
  • Конфигурация Docker/deploy с оптимизированными лимитами.
  • Рабочая документация для поддержки.