Назад | Перейти на главную страницу

Запуск сценария bash с php с более низким приоритетом или ограничением ЦП

У меня есть сценарий bash, который запускает набор сценариев php. Когда он запускается, это занимает час и загружает процессор на 95-99%. Это вызывает проблемы со стеком ламп (в основном процесс apache), и наш веб-сайт на том же сервере начинает выдавать тайм-аут или 500 ошибок.

Как я могу:

Я не уверен, какое решение лучше.

В дополнении к nice, глядя на ограничение времени процессора, используя ulimit -t (при условии, что вы находитесь на платформе * nix)

Выполните свои команды через nice.

отлично запускает утилиту с измененным приоритетом планирования. Если задано приращение, оно используется; в противном случае предполагается приращение 10. Суперпользователь может запускать утилиты с приоритетом выше обычного, используя отрицательное приращение. Приоритет можно настроить в диапазоне от -20 (самый высокий) до 20 (самый низкий).

 Available options:

 -n increment
         A positive or negative decimal integer used to modify the system
         scheduling priority of utility.

Как предлагали другие, nice это то, что вы хотите. Ограничение до 25% ЦП бессмысленно. Это без нужды увеличит количество времени, на которое снизится производительность системы.

Допустим, у вас четыре машины, и вам нужно выполнить несколько поручений. Что имеет больше смысла: использовать одну машину для выполнения поручений или использовать всю неиспользованную машину для выполнения поручений? Первый оставляет 4 машины для важных задач. Последний оставляет только 3. И в большинстве реальных случаев первый также быстрее выполнит низкоприоритетную работу.