Утечка памяти в python не обнаружена tracemalloc - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть пакет 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 МБ памяти?

Спасибо

...