Утечка памяти с использованием фрейма данных pandas

Я использую pandas.DataFrame в многопоточном коде (на самом деле пользовательский подкласс DataFrame под названием Sound). Я заметил, что у меня есть утечка памяти, так как использование памяти моей программы постепенно увеличивается на 10mn, чтобы, наконец, достичь ~100% моей памяти компьютера и сбой.

Я objgraph чтобы попытаться отслеживать эту утечку, и выяснил, что количество экземпляров MyDataFrame идет все время, пока он не должен : каждый поток в его run способ создает экземпляр, выполняет некоторые вычисления, сохраняет результат в файле и завершает работу... поэтому никаких ссылок не следует хранить.

используя objgraph я обнаружил, что все фреймы данных в памяти имеют аналогичный ссылочный график:

enter image description here

Я понятия не имею, нормально это или нет ... похоже, это то, что держит мои объекты в памяти. Есть идеи, советы, догадки ?

1 ответов


подтверждено, что в инфраструктуре индексирования происходит какая-то утечка памяти. Это не причиненный вышеуказанным графиком ссылки. Давайте перенесем обсуждение на GitHub (так для Q&A):

https://github.com/pydata/pandas/issues/2659

EDIT: на самом деле это не утечка памяти вообще, но, возможно, связано с проблемами выделения памяти ОС. Пожалуйста, посмотрите на вопрос github для получения дополнительной информации