@niksimas

Как оптимизировать использование Python-ом ОЗУ?

Ситуация такая, есть бот на Aiogram 3, какое-то время он набирает обороты и хапает себе ОЗУ, после её использования он естественно обратно её не отдает (только после перезагрузки всего кода).
На вот этом сайте прочитал, что можно сделать так, чтобы упорядоченно и организованно использовать память, но как таковых примеров не приведено(((
Вопрос: как память (пуллы/блоки) из статуса "использовано" в статус "нетронуто" переводить? Или как отдавать использованную но пустую ОЗУ отдавать обратно серверу на Linux?

P.S.
Нужную инфу докину
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
fenrir1121
@fenrir1121
Начни с документации
Aiogram 3 набирает обороты и хапает себе ОЗУ
Начните с доказательства этого утверждения.
Как минимум мой опыт свидетельствует об обратном: десяток запущенных ботов потребляют на сервере один и тот же объем ОЗУ с аптаймом в несколько месяцев.

Очистка памяти в Python выполняется автоматически путем подсчета ссылок на объекты и сборкой мусора (для циклических ссылок). Есть интерфейс для взаимодействия со сборщиком, но он не будет вам полезен. Запустите бот через профайлер вроде memray и ищите с чем связана проблема.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы