Lançar um programa em baixa prioridade CPU e I/O disco

Novembro 2016


Acontece que se queira lançar certas operações pesadas em plano de fundo sem deixar os outros softwares lentos. Por exemplo:
  • Copiar arquivos
  • Backups
  • Indexação (updatedb por exemplo).


É perfeitamente possível com nice e ionice.
  • nice permite reduzir a prioridade de um processo no CPU
  • ionice permite reduzir a prioridade de um processo no acesso disco.

Lançar um programa


ionice -c3 nice -n15 meuprograma


O programa é lançado e assim ele não consumirá CPU e fará acessos disco somente quando nenhum outro programa tem necessidade.

Em um script shell


Coloque no início de seu script shell :

#!/bin/sh 
ionice -c3 -p$$ 
renice +15 -p $$


O shell terá prioridade reduzida (e desta forma também todos os programas lançados a partir deste shell).

É útil, por exemplo nos scripts lançados no /etc/cron.*

(Tipicamente, você pode adicionar estas linha no seu script /etc/cron.daily/slocate)

Nota

  • nice e renice podem ser utilizados por todos
  • ionice avec -c3 pode ser utilizado somente pelo root.

Links


Este artigo foi inspirado por : Why aren't you using ionice yet ?


Tradução feita por Ana Spadari

Veja também :
Este documento, intitulado « Lançar um programa em baixa prioridade CPU e I/O disco  »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.