Возможно, Вы могли попробовать PRoot (http://proot.me) как альтернатива UML. Оба основаны на ptrace (2), хотя PRoot не требует, чтобы любая установка получила доступ в Интернет от гостевой системы:
host$ proot -R ./fedora-18-x86_64/ bash
guest$ wget http://google.fr
...
где "./fedora-18-x86_64 /" содержание rootfs, загруженного с http://download.openvz.org/template/precreated/
Есть утилита, задача
,
Часть UTIL-Linux, для этой цели. Например:
taskset -c 0-15 script
будет запустить скрипт
и ограничить его использовать только процессоры с идентификаторами от 0 до 15.
Чтобы проверить, что ваши скрипты действительно ограничены для запуска по правильному
CPU, вы можете посмотреть на файл / proc /
: он будет иметь
Записи по имени CPUS_ALLED
(растровое изображение; наименее значимый бит
Установите, если CPU 0 разрешен) и CPUS_ALLED_LIST
(A
Список CPU IDS).
Я сам нахожусь в середине «учебного опыта», но это может иметь значение.
Чтобы запустить сценарий bash в фоновом режиме на определенном процессоре, попробуйте:
taskset -c 1./myScript &
В myScript включите строки:
echo MyScript: $$\($BASHPID\)
taskset -cp $BASHPID
$BASHPID, новый для меня, :«Идентификатор текущего процесса Bash. В некоторых случаях он может отличаться от $$».
Лично я не могу запустить функцию bash в фоновом режиме на определенном процессоре.
taskset -c 1./myFunction &
... дал мне :набор задач :не удалось выполнить myFunction :Нет такого файла или каталога
Хотя после некоторых фальстартов
(taskset -cp 1 $BASHPID;myFunction)&
... выглядит многообещающе.