Установите привязку процесса из сценария оболочки, поскольку она запускается

Возможно, Вы могли попробовать 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/

3
30.03.2015, 23:38
2 ответа

Есть утилита, задача , Часть UTIL-Linux, для этой цели. Например:

taskset -c 0-15 script

будет запустить скрипт и ограничить его использовать только процессоры с идентификаторами от 0 до 15.

Чтобы проверить, что ваши скрипты действительно ограничены для запуска по правильному CPU, вы можете посмотреть на файл / proc / / status : он будет иметь Записи по имени CPUS_ALLED (растровое изображение; наименее значимый бит Установите, если CPU 0 разрешен) и CPUS_ALLED_LIST (A Список CPU IDS).

3
27.01.2020, 21:27

Я сам нахожусь в середине «учебного опыта», но это может иметь значение.

Чтобы запустить сценарий 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)&

... выглядит многообещающе.

-1
27.01.2020, 21:27

Теги

Похожие вопросы