многопроцессорность Python, исчерпывающая память, обходится? - PullRequest
0 голосов
/ 15 июня 2019

У меня есть скрипт, который работает около 3 часов.Если я использую многопроцессорность, это займет около 20 минут.Проблема в памяти.

Скажем, в сценарии 10 задач.Если я буду запускать его на одном ядре, оно будет проходить до конца.Но если я использую многопроцессорность, мне нужно остановить ее на полпути, чтобы освободить память и запустить вторую половину вручную.

Я пытался использовать мусор collect и что-то вроде popenно это не помогает

Я запускаю скрипт в pycharm.Не уверен, имеет ли значение то, как обрабатывается память.

У меня 32 ГБ ОЗУ.Когда скрипт запускается, я уже использую 6 ГБ.Я использую 64-битный Python 3.6.У меня 12-ядерный процессор.

Я использую Windows и просто использую Pool из multiprocessing.

Недостаточно памяти, что может привести к бомбе сценария.Поэтому мне нужно остановить его на полпути и начать его снова со 2-й половины.

Вопрос в том, как полностью запустить сценарий с помощью многопроцессорной обработки без использования меньшего количества ядер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...