У меня есть пакет python (3.6.5), который создает несколько объектов. Кажется, что основной процесс имеет утечку памяти, основанную на том, что я вижу в планировщике задач, а также критерии спасения, которые я установил, если объем памяти превышает 1 ГБ. Код для обнаружения переполнения памяти выглядит следующим образом:
from win32con import PROCESS_QUERY_INFORMATION, PROCESS_VM_READ
from win32api import OpenProcess
from win32process import GetProcessMemoryInfo
handle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, os.getpid())
process_memory = int(GetProcessMemoryInfo(handle)['WorkingSetSize'])
Я попытался использовать tracemallo c для обнаружения раздувания памяти, установив точку останова в точке, в которой был достигнут этот критерий спасения, и общий объем памяти. использование, которое обнаруживает tracemallo c, составляет чуть более 300 МБ. Если я не создаю эти объекты, раздувание не наблюдается (проверено с закомментированием кода, в котором создаются объекты). Каков наилучший способ устранения этой утечки памяти для оставшихся 700 МБ памяти?
Спасибо