Pandas/SciPy — высокое использование памяти — WindowsPython

Программы на Python
Anonymous
Pandas/SciPy — высокое использование памяти — Windows

Сообщение Anonymous »


Обновление: после публикации этого вопроса я обнаружил, что та же проблема возникает и с SciPy. Я обновил заголовок, чтобы другие могли найти этот пост. Я оставил первоначальный вопрос без изменений. Решение представлено ниже.

Оригинальный вопрос:

Есть ли способ уменьшить использование памяти Pandas в Windows при многопроцессорной обработке?

Я написал многопроцессорное приложение с использованием Python в Windows и получаю ошибки MemmoryError, в основном вызванные импортом Pandas. в каждом подпроцессе. При импорте Pandas я заметил в Taskmgr увеличение памяти фиксации примерно на 0,5 ГБ. При многопроцессорной обработке с использованием 16 ядер это становится серьезной проблемой, поскольку 8 ГБ памяти фиксации используются до запуска «реального» кода. Эта проблема оставляет приложению недостаточно памяти для фиксации, что приводит к выдаче ошибок MemoryErrors. Частная рабочая память не увеличивается таким же образом, поэтому ОЗУ не является ограничением.

Я попробую увеличить файл подкачки, но это не идеальное решение, поскольку приложение будет передано другим. Есть ли в Windows способ уменьшить размер импорта, например, разделив импорт между подпроцессами, или существуют ли какие-либо конкретные версии/флаги, которые могут уменьшить выделение, реализуемое pandas?

Python: 3.11 (64-разрядная версия), Pandas: 2.0.3, ОС: Windows 10 Enterprise

Вернуться в «Python»