Python Glossary English

все 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Сообщить о неточности