Увеличение потребления памяти PyPy со временем

Есть бот для ВК. Код достаточно велик, так что даже упрощенную часть показать не смогу. Проблема в том, что со временем при запуске на PyPy он начинает кушать большие объемы памяти: сначала 100мб, затем через 10-15 минут - 150мб. После этого скорость возрастания сбавляется, но не пропадает: спустя пару дней можно увидеть и 300мб. Бота, если что, запускаю через службы Linux (systemctl) и там же проверяю память (systemctl status ...).

Увеличение потребляемой памяти в самом начале, как я понял, для PyPy норма, но вот постоянное увеличение со временем - уже нет. Единственное, что у меня может кушать память, это словарик, хранящий в себе некоторые кешированные данные, которые возвращаются через copy.copy(). Тем не менее, этот самый словарик очищается каждые n-минут (dict.clear()), да и плюсом порой прогоняется ручной сборщик мусора (gc.collect()).

Что еще можно попробовать предпринять?


Ответы (1 шт):

Автор решения: AivanF.

Если программа живёт долгие дни, то можно настроить перезапуск – это традиционный костыль для утечек памяти.

Можно дополнить конфиг файл systemd для перезапуска каждые сутки таким образом:

[Service]
Type=notify
WatchdogSec=86400
Restart=always
→ Ссылка