Я хочу использовать многопроцессорную обработку для распространения работы через несколько ядер системы. В рамках работы они будут работать subprocess.call(..., shell=True)
. Что происходит, когда они это делают? Поддерживает ли подпроцесс fork это ядро?Как взаимодействуют пакеты подпроцесса и многопроцессорности Python?
ответ
Если основная работа выполняется в дочерних процессах, созданных с использованием модуля subprocess
, тогда вам не нужно multiprocessing
, чтобы распространить работу на несколько ядер процессора. См. Python threading multiple bash subprocesses?
Что происходит, когда они это делают?
subprocess.call()
выполняет внешнюю команду и ждет ее завершения. Не имеет значения, запущен ли он внутри рабочего процесса, созданного модулем multiprocessing
, или нет.
Остается ли подпроцесс fork на этом ядре?
Если вам это необходимо; вы должны явно указать аффинность процессора. psutil
provides a portable way to set/get CPU affinity for a process.
Если вы используете numpy
, это может повлиять на сродство к процессору. См. Why does multiprocessing use only a single core after I import numpy?
Спасибо за детали. – user592419
- 1. Пример Python и многопроцессорности
- 2. Python: использование карты и многопроцессорности
- 3. Инициализация подкласса многопроцессорности Python
- 4. задача планирования многопроцессорности python
- 5. Функции многопроцессорности Python
- 6. Профилирование пула многопроцессорности python
- 7. Производительность многопроцессорности Python
- 8. Тайм-аут многопроцессорности Python
- 9. проблема блокировки многопроцессорности python
- 10. Номер процесса многопроцессорности Python
- 11. Ошибка трассировки многопроцессорности Python
- 12. профилирование пула многопроцессорности python
- 13. Пул многопроцессорности Python застрял
- 14. Python: установка многопроцессорности
- 15. Вызов подпроцесса python как демона и выход
- 16. Возврат в многопроцессорности - Python
- 17. Понимание многопроцессорности Python
- 18. Ошибка многопроцессорности Python?
- 19. Пакеты и модули Python
- 20. Как получить результат подпроцесса подпроцесса
- 21. Коммуникация и сравнение объектов в многопроцессорности python?
- 22. Как взаимодействуют модели и модули?
- 23. Как взаимодействуют DeleteFile и FindFirstFile?
- 24. Ошибка интерпретации для многопоточности и многопроцессорности python
- 25. Как синхронизировать вывод подпроцесса Python
- 26. OpenCV и Numpy взаимодействуют плохо
- 27. Демонтаж подпроцесса Python
- 28. Отсоединить подпроцесс, запущенный с использованием модуля многопроцессорности python
- 29. Сигнал подпроцесса Python
- 30. Безопасность подпроцесса Python
Вы попробовали? Обычно ОС выполняет новые процессы. – poke
Наверное, нет. Обычно вам нужно явно привязывать процессы к ядру. Способ для этого зависит от ОС. –