Я хочу запустить два скрипта Python. Каждый из них требует много времени для завершения. Я работаю на двухъядерной машине FreeBSD и хочу убедиться, что использую оба ядра. Когда я запускаю оба сценария, я обнаруживаю, что оба они работают на одном и том же процессоре. Как я могу контролировать, чтобы два сценария выполнялись разными процессорами? Я знаю, что в Linux мы можем указать taskset -c X python foo.py, где X — номер ЦП, например 0,1,2. Как я могу сделать что-то подобное в системе FreeBSD.
FreeBSD — запуск кода Python на разных процессорах
comment
В наши дни ядра хорошо распределяют рабочую нагрузку. Каковы ваши доказательства того, что ваши процессы работают на одном ядре?
- person Chris Betti   schedule 27.04.2012
Ответы (1)
Термин, который вы ищете, — это «соответствие ЦП».
cpuset -c -l X python foo.py
См. Как установить привязку ЦП. для процесса в FreeBSD для более подробной информации.
person
Chris Betti
schedule
26.04.2012
Я получаю cpuset: setaffinity: операция не разрешена
- person tan; 27.04.2012
Вы пытались запустить команду от имени пользователя 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