Мое приложение Python постоянно работает в модуле K8s в среде AWS поверх ОС Linux на базе Alpine. Он потребляет данные из Kafka и сохраняет их в очереди. Другой поток получает данные из очереди и запускает многопроцессорную обработку (5 параллельных процессов). Каждый рабочий процесс выполняет некоторую предварительную обработку (вычисления по фреймам данных и сохранение в базе данных) над своими соответствующими фреймами данных и возвращается к основному процессу после выполнения своей работы. Теперь проблема в том, что использование памяти внутри модуля постоянно увеличивается, когда я использую верхний модуль kubectl. В Windows, в pycharm я не вижу такой проблемы. В основном это связано с созданием и манипулированием кадрами данных. Существует один глобальный кеш, который также является фреймом данных.
Я пробовал это до сих пор, но пока безуспешно:
1.) Удалены фреймы данных после их использования.
2.) gc. Collect()
3.) malloc_trim() не работает в ОС Alpine
Я выделил 5 ГБ каждому поду (работает 2 пода). Я не уверен, почему возникает эта проблема. Для меня это вопрос жизни и смерти. Кто-нибудь, спасите меня!!!
Подробнее здесь: https://stackoverflow.com/questions/793 ... rnetes-pod
Приложение Python не выпускает память в капсуле Kubernetes ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение