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