Como faço para definir um cronjob para usar menos CPU

2

Estou gerenciando um servidor que hospeda vários sites Ruby on Rails. Preciso de um cron job para todos os websites:

  • enviar e-mails (notificações)
  • criar miniaturas

Infelizmente, toda vez que o cron é executado, são necessários 100% do uso da CPU, o que diminui a velocidade de todos os sites.

Eu tentei usar o comando nice no meu crontab -e:

cd /home/www/manager && nice -n 19 /usr/local/bin/rake websites_cron RAILS_ENV=production

mas depois de um tempo eu recebo processo de rack e processo de passageiros com o mesmo nível legal que o rake, então isso não ajuda em nada ...

Aqui está a saída htop com baixo uso link

Aqui está htop quando a tarefa do cron é executada link

obrigado

--- Editar ---

Eu tive um erro no meu código que estava reconstruindo todo o processo de sites O comando nice está funcionando

    
por boby lapointe 07.08.2012 / 15:09

1 resposta

2

O processo foi nice para diminuir sua prioridade e htop reflete isso. Ele ainda terá prazer em usar 99% da CPU, se não houver contenção. Você pode confirmar que o gargalo da garrafa está na CPU e não na E / S? Talvez você precise aumentar a prioridade dos processos do website para maior do que o padrão?

Além disso, quantos núcleos seu host possui? Sua carga geral média em 1,6 é abaixo da capacidade de um sistema dual-core . Se for um sistema de núcleo único, você provavelmente deve considerar uma atualização de hardware.

    
por 07.08.2012 / 16:39