Могу ли я использовать максимальное использование процессора для php-скрипта?

У меня есть несколько сценариев, которые используют тонну процессора, можно ли ограничить количество процессоров, которые разрешено использовать процессу? Кстати, я бегу на CentOs 5.5.

возможно, вы могли бы использовать красиво ?

Я помог другому PHP-кодеру создать PHP-скрипты, которые затрагивают аналогичную проблему. Это длинные PHP-скрипты, которые генерируют большую нагрузку. Поскольку они долго работают, целью было «приостановить» их, если загрузка становится слишком высокой. Сценарий имеет функцию, аналогичную функции:

function get_server_load() { $fh = fopen('/proc/loadavg', 'r') $data = fread($fh, 6); fclose($fh); $load_avg = explode(" ", $data); return floatval(trim($load_avg[0])); } 

Скрипт вызывает get_server_load() во время каждого цикла, и если нагрузка больше заданного максимума, он спит в течение 30 секунд и снова проверяет:

 set_time_limit(120); while(get_server_load() > $max_load) sleep($load_sleep_time); 

Это позволяет сценарию возвращать процессорное время серверу в периоды высокой нагрузки.

PHP считается языком сценариев и не имеет такого низкоуровневого доступа к оборудованию.

Вместо этого вы можете использовать такие функции, как «set_time_limit ()»

http://php.net/manual/en/function.set-time-limit.php

и memory_limit в php.ini

http://php.net/manual/en/ini.core.php

Это рекомендуемые методы, но наиболее близким к тому, что вы хотите, вероятно, является комбинация «sleep ()»

http://php.net/manual/en/function.sleep.php

и получить текущую загрузку процессора с помощью «exec (« время безотказной работы »)». Обратите внимание, что вы можете иметь или не иметь доступа к этим системным командам.