Каким-то образом память моя программа Python занимает все больше и больше памяти по мере ее выполнения (столбцы VIRT и RES) в верхней команде продолжают увеличиваться.
Однако я дважды тщательно проверил свой код и уверен, что утечек памяти нет (не использовались ни словарь, ни глобальные переменные. Это всего лишь основной метод, вызывающий вспомогательный метод несколько раз) .
Я использовал heapy, чтобы профилировать использование памяти по
from guppy import hpy;
heap = hpy();
.....
print heap.heap();
каждый раз, когда основной метод вызывает вспомогательный метод. Удивительно, но результат всегда один и тот же. Но использование памяти продолжает расти.
Интересно, не использовал ли я правильно heapy или VIRT и RES в команде "top" на самом деле не отражают память, которую использует мой код?
Или кто-нибудь может предоставить лучший способ отслеживания использования памяти в сценарии Python?
Большое спасибо!