Скрипт Python заполняет память

Я работаю над сценарием, который кумулятивно потребляет память, и я не знаю, как это решить. Любая помощь или предложения приветствуются.

Python сборщик мусора как-то выходит из строя, что происходит?

Пример кода ниже, некоторые примечания следующие.
Я подозреваю, что виновник psspy но у меня нет доступа к его коду, есть ли обходной путь?

ierr все целые числа.
variable1и т. д. являются списками, содержащими один список чисел (целые числа, вещественные числа или комплексы).

import psspy
psspy.psseinit(1200)

cases = []
... #Construction of a list of strings containing filenames like 'case010.sav'
faults = []
... #Construction of another list that doesn't contribute to the problem.

for filename in cases:
    psspy.case(filename) #It opens a 'case' that alters the output of the following functions
    ierr, variable1 = psspy.function1(parameters)
    ierr, variable2 = psspy.function2(parameters)
    ...
    ierr, variablen = psspy.functionn(parameters)
    ...
    for fault in faults:
        psspy.close_powerflow() #Documentation says it  
             #'Removes the current powerflow working case from PSS®E’s working memory.'
        psspy.case(filename)
        ...
        ierr, variable1 = psspy.function1(parameters)
        ierr, variable2 = psspy.function2(parametersl)
        ...
        ierr, variablen = psspy.functionn(parameters)
        ...

1 ответ

Это действительно может быть что-то вроде утечки в psspy Пространство имен. Чтобы лучше понять, где используется память, вы должны использовать один из профилировщиков Python.

Другие вопросы по тегам