FreeBSD — запуск кода Python на разных процессорах

Я хочу запустить два скрипта Python. Каждый из них требует много времени для завершения. Я работаю на двухъядерной машине FreeBSD и хочу убедиться, что использую оба ядра. Когда я запускаю оба сценария, я обнаруживаю, что оба они работают на одном и том же процессоре. Как я могу контролировать, чтобы два сценария выполнялись разными процессорами? Я знаю, что в Linux мы можем указать taskset -c X python foo.py, где X — номер ЦП, например 0,1,2. Как я могу сделать что-то подобное в системе FreeBSD.


person tan    schedule 26.04.2012    source источник
comment
В наши дни ядра хорошо распределяют рабочую нагрузку. Каковы ваши доказательства того, что ваши процессы работают на одном ядре?   -  person Chris Betti    schedule 27.04.2012


Ответы (1)


Термин, который вы ищете, — это «соответствие ЦП».

cpuset -c -l X python foo.py

См. Как установить привязку ЦП. для процесса в FreeBSD для более подробной информации.

person Chris Betti    schedule 26.04.2012
comment
Я получаю cpuset: setaffinity: операция не разрешена - person tan; 27.04.2012
comment
Вы пытались запустить команду от имени пользователя root (или с префиксом sudo)? sudo не входит в состав некоторых дистрибутивов freebsd по умолчанию. Чтобы проверить свой: pkg_info -xI sudo. Для получения подробной информации о вашей версии: pkg_info | grep sudo, чтобы получить версию, и, если версия 1.6.9.20, pkg_info -do sudo-1.6.9.20, чтобы найти более подробную информацию. - person Chris Betti; 27.04.2012