Могу ли я вызвать несколько процессов FFMPEG на многоядерной машине LAMP из PHP? - PullRequest
3 голосов
/ 08 октября 2009

Я использую PHP для вызова команды FFMPEG с использованием exec (). Сценарий, который инициирует эту команду, вызывается из другого сценария PHP с использованием

proc_close(proc_open('php /phpdirectory/process.php &', array(), $foo));

Это прекрасно работает. Команда ffmpeg вызывается и запускается «в фоновом режиме», оставляя первый скрипт, который возвращается пользователю, и в этом случае продолжает загружать файлы. Что если я использую машину с несколькими ядрами? Как мне оптимизировать вещи так, чтобы я мог вызывать процесс ffmpeg для каждого ядра? Или процесс многоядерного компьютера в любом случае разделит работу между ядрами и ускорит один процесс?

Любой

Ответы [ 2 ]

4 голосов
/ 09 октября 2009

Планирование процесса FFMPEG выполняется планировщиком ядра. Вы не можете явно запускать свои процессы на каждом ядре.

0 голосов
/ 12 декабря 2012

Blairyeah прав, что это не оптимизация, но вы можете закрепить процесс на конкретном процессоре, используя taskset(1).

Решение найдено в ответ ServerFault .

...