Além de nice
, procurando limitar o tempo de CPU, usando ulimit -t
(supondo que você esteja em uma plataforma * nix)
Eu tenho um script bash que executa um conjunto de scripts php. Quando é executado, leva uma hora e coloca a CPU em 95-99%. Isso faz com que nosso problema de pilha de lâmpadas (principalmente o processo apache) e nosso site no mesmo servidor comece a esgotar o tempo limite ou 500 erros.
Como eu posso:
Não sei qual é a melhor solução.
Execute seus comandos por meio de nice
.
nice runs utility at an altered scheduling priority. If an increment is given, it is used; otherwise an increment of 10 is assumed. The super- user can run utilities with priorities higher than normal by using a neg- ative increment. The priority can be adjusted over a range of -20 (the highest) to 20 (the lowest).
Available options: -n increment A positive or negative decimal integer used to modify the system scheduling priority of utility.
Como outros sugeriram, nice
é o que você deseja. Limitar a 25% da CPU é um problema Isso aumentará desnecessariamente a quantidade de tempo que o desempenho do sistema é reduzido.
Digamos que você tenha quatro carros e precise fazer alguns recados. O que faz mais sentido, usar um carro para fazer os recados ou usar todo o carro não utilizado para fazer as tarefas? O primeiro deixa 4 carros para tarefas importantes. O último deixa apenas 3. E nos casos mais realistas, o primeiro também fará o trabalho de baixa prioridade ser feito mais cedo.