все Python 3multiprocessingфункция
multiprocessing.cpu_count()
процессы
Число логических процессоров в системе. Типичная отправная точка для размера пула, но это не число ядер, доступных именно вашему процессу.
Синтаксис
multiprocessing.cpu_count()
Ограничения affinity, контейнера или cgroup cpu_count() не видит: в Docker с лимитом в 2 ядра он покажет все ядра хоста, и пул такого размера будет только толкаться. Для числа доступных ядер есть os.process_cpu_count() (3.13+) — его и берёт Pool по умолчанию с 3.13. В отличие от os.cpu_count(), который возвращает None, multiprocessing.cpu_count() при неизвестном числе бросает NotImplementedError. С 3.13 результат подменяется флагом -X cpu_count.
Примеры
import multiprocessing as mp
import os
if __name__ == '__main__':
print(mp.cpu_count()) # → ? число логических CPU машины
print(mp.cpu_count() == os.cpu_count()) # → True
# Python 3.13+
import multiprocessing as mp
import os
if __name__ == '__main__':
print(os.process_cpu_count() <= mp.cpu_count()) # → True — доступных не больше, чем есть
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности