Как я могу запустить команду и выбрать ядро для использования?
У меня есть команда для запуска (в данном случае это скрипт php5), и я хотел бы знать, есть ли что-то для запуска этой команды и выбрать ядро для запуска.
Что я хочу сделать, так это запустить 1 команду на каждое ядро, чтобы использовать несколько ядер моего сервера.
Любая идея? Или мне нужно переписать скрипт на других языках с поддержкой многоядерности и разработать основной элемент управления прямо в скрипте?
3 ответа
Команда для запуска или назначения конкретной команды для конкретного ядра taskset
,
Вставьте его в скрипт запуска или используйте из командной строки, например:
taskset -c 0,5 command_name
-c
список одного или нескольких процессоров для выполнения команды; в этом случае ядро 0 и 5.
Вы также можете изменить базовое назначение запущенного процесса, указав PID с помощью taskset
,
Но вы также можете посмотреть: Назначение процессов ядрам процессора
Ваш планировщик ядра будет делать это сам по себе, и ему не нужен пользователь для выполнения своей работы.
Что я хочу сделать, так это запустить 1 команду на каждое ядро, чтобы использовать несколько ядер моего сервера.
Многоядерный для начинающих: системный планировщик заботится об этом.
Экземпляры StartX, где X - это количество аппаратного обеспечения, которое у вас есть (ядра или реальные ядра x2 для Intel с гиперпоточностью).
Если ваша программа использует только одно ядро, то вы оптимизируете его, учитывая, что вы используете ОС, поддерживающую NUMA, в архитектуре NUMA.