Утечка памяти с использованием фрейма данных pandas
Я использую pandas.DataFrame
в многопоточном коде (на самом деле пользовательский подкласс DataFrame
под названием Sound
). Я заметил, что у меня есть утечка памяти, так как использование памяти моей программы постепенно увеличивается на 10mn, чтобы, наконец, достичь ~100% моей памяти компьютера и сбой.
Я objgraph чтобы попытаться отслеживать эту утечку, и выяснил, что количество экземпляров MyDataFrame
идет все время, пока он не должен : каждый поток в его run
способ создает экземпляр, выполняет некоторые вычисления, сохраняет результат в файле и завершает работу... поэтому никаких ссылок не следует хранить.
используя objgraph
я обнаружил, что все фреймы данных в памяти имеют аналогичный ссылочный график:
Я понятия не имею, нормально это или нет ... похоже, это то, что держит мои объекты в памяти. Есть идеи, советы, догадки ?
1 ответов
подтверждено, что в инфраструктуре индексирования происходит какая-то утечка памяти. Это не причиненный вышеуказанным графиком ссылки. Давайте перенесем обсуждение на GitHub (так для Q&A):
https://github.com/pydata/pandas/issues/2659
EDIT: на самом деле это не утечка памяти вообще, но, возможно, связано с проблемами выделения памяти ОС. Пожалуйста, посмотрите на вопрос github для получения дополнительной информации