Вычисление максимального количества одновременных python скриптов - PullRequest
1 голос
/ 13 марта 2020

Скажите, что я хочу запустить:

python script1.py &
python script2.py &

Каждый сценарий один и тот же и просто обрабатывает разные файлы. Как я могу выяснить, сколько из этих сценариев я могу разделить?

Какое отношение имеет к числу ядер ЦП или количеству потоков? (память, я могу понять это)

1 Ответ

1 голос
/ 13 марта 2020

Всякий раз, когда вы выполняете python script.py &, это создаст новый процесс, который будет работать в фоновом режиме и выполнять работу, указанную в script.py.

Вы можете в основном запустить максимальное число процесса, поддерживаемого в вашей системе, вы можете узнать, выполнив команду cat /proc/sys/kernel/pid_max, которая, вероятно, вернет 32768. Это число представляет максимальные уникальные идентификаторы процессов, которые система может выделить процессам.


Соотношение между ядрами процессора и количеством потоков:

Потоки не существуют независимо самостоятельно, они находятся в ограничивающем процессе (процессе, который создает потоки). Потоки имеют свой собственный стек и регистры. Современные компьютеры могут создавать 1000-ые (конечно, программные потоки) потоки одновременно. Но, вообще говоря, количество параллельных потоков, которые могут выполняться, ограничено количеством ядер ЦП, доступных в системе. В случае системы, которая поддерживает гиперпоточность, это число может быть больше.

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