Сценарий:
У меня есть процесс python, который работает непрерывно (до тех пор, пока мы не остановимся вручную - бесконечно) и собирает данные, читая определенные системные файлы каждую 1 минуту. Когда он запускается, он занимает около 25 МБ. Но с каждым днем объем занятой памяти увеличивается, и через 15 дней он превышает 500 МБ.
- Я новичок в Python, поэтому не могу выяснить проблему, перебирая код вручную / используя отладчик,
- Мне неизвестен какой-либо инструмент, который может легко определить проблему, пожалуйста, предложите какой-нибудь инструмент или метод, который может помочь мне определить проблему.
- Я предполагаю, что это может быть проблема утечки памяти или переменная, которая добавляет данные к нему снова и снова, а вовсе не освобождает их ... Пожалуйста, укажите мне некоторые ссылки, которые могут помочь мне в понимании подобных проблем в питоне.
Надеюсь, что детали достаточно ясны, для более подробной информации, дайте мне знать, я могу уточнить.
Обновление
Я пытался подписаться на эту тему Отображение трассировки стека из работающего приложения Python , но я сталкиваюсь со следующими ошибками, которые не удается полностью устранить.
- В текущем контексте нет символа "PyEval_EvalFrameEx".
- В текущем контексте нет символа "PyStringObject".
Я искал, чтобы найти такой метод, подключиться к уже запущенному процессу и получить информацию о стеке / памяти. Но пока не повезло, пожалуйста, помогите мне.