Eu tenho um trabalho cron do rsync que está forçando a carga do servidor e acionando alertas do monitor. Se eu definir o trabalho para ser executado com um alto nível agradável, isso reduziria efetivamente o impacto que ele tem nos valores de carga do sistema?
10
Respostas:
Não reduzirá sua carga.
Ele permitirá que outros processos usem o tempo da CPU com mais frequência se houver uma possível contenção de recursos (vários processos "competem" pelo tempo disponível da CPU insuficiente).
fonte
Alterar o valor agradável não reduzirá diretamente a carga do sistema. No entanto, pode ser usado para deixar mais recursos disponíveis para os processos restantes, o que suspeito é o que você realmente deseja.
Em http://linux.101hacks.com/monitoring-performance/hack-100-nice-command-examples/
Portanto, sim, você deseja executar o trabalho cron em um nível mais alto que os outros processos, se quiser garantir que outros processos tenham prioridade.
Para fazer isso, você deseja que seu script cron seja executado assim:
Isso executará o script cron com uma nitidez aumentada em 10. Você provavelmente deseja testar um pouco para encontrar um bom equilíbrio (trocadilho não intencional) entre os processos restantes e o tempo de execução do script.
Veja também Como é bom trabalhar? e http://www.cyberciti.biz/faq/change-the-nice-value-of-a-process/ para obter mais detalhes.
fonte
Alterar o bom nível de um processo provavelmente não afetará o valor da carga do sistema. O valor de carregamento do sistema é o comprimento médio da fila de execução , que é basicamente o número de processos que desejam usar a CPU.
Se você estiver executando um processo vinculado à CPU (o rsync não é, mas apenas por exemplo), ele sempre desejará usar o tempo da CPU sempre que houver algum disponível. Como ele sempre deseja executar, contribuirá com um valor de carga de 1,0 para o valor de carga do sistema. Não importa qual é o bom nível do processo, porque o comprimento médio da fila de execução não é afetado pela ordem dos processos na fila de execução.
fonte
Você pode considerar três maneiras de reduzir o impacto de seus processos na carga do sistema / tempo da CPU:
nice
comando para diminuir manualmente a prioridade da tarefa.cpulimit
comando para pausar repetidamente o processo para que ele não exceda um determinado limite.built-in control groups
, um mecanismo que instrui o planejador a limitar a quantidade de recursos disponíveis para o processo.Recursos
http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
fonte