Artigos, Centos, Debian, Fedora, Linux, openSUSE, Ubuntu#LINUX > Gerenciando prioridades de processos

#LINUX > Gerenciando prioridades de processos

Todo processo em execução no Linux possui certas prioridades de acesso de CPU, Memória e Disco. Alguns processos possuem mais prioridade de acesso a esses recursos do que outros processos. O próprio sistema gerencia essa prioridade, dando maior acesso aos processos que possuem essa maior demanda.

Podemos, contudo, especificar prioridades utilizando os comandos nice, renice e ionice.

Vejamos quando e como utilizá-los.

Comando “nice”:

O comando nice nos permite especificar a prioridade de CPU e Memória com a qual um processo será iniciado. Ou seja, o processo iniciará com a prioridade que especificarmos e manterá essa prioridade até que seja finalizado.

O comando para isso seria:

nice prioridade comando

Exemplo:

nice -10 rm -f arquivos.txt

Desta forma, o comando “rm -f arquivo.txt” será executado com prioridade “-10”.

As prioridades possíveis vão de -19 à +19 sendo que -19 é mais prioritário do que +19. O termo “nice” significa legal. A prioridade -19 é menos legal do que +19, pois demandará mais “atenção do sistema” e por isso é mais prioritário. Sacou? Então beleza!

Comando “renice”:

O comando renice é similar ao nice. A diferença entre eles é que o renice é utilizado em processos que já estão em execução.

A syntax dele é esta:

renice -10 -p PID

Exemplo:

renice -10 -p 25876

Desta forma, o processo cujo PID é 25876 passará para prioridade “-10”.

Observe que é preciso ter o número do PID para trocarmos a prioridade do processo.

Caso queiramos trocar a prioridade dos processos de um determinado usuário, podemos utilizar o parâmetro “-u” e especificarmos esse usuário. Exemplo:

renice -10 -u usuario

Com isso, todos processos desse usuário passarão para prioridade “-10”.

Comando “ionice”:

O comando ionice atribui maior ou menor prioridade na leitura e escrita no disco. Ou seja, diferentemente de “nice” e “renice”, que trabalham com prioridade sobre CPU e Memória, o comando “ionice” trabalha com prioridade de leitura e escrita.

A syntax do comando é esta:

ionice -C prioridade -p PID

As possíveis prioridades são:

  • -c 3 = Iddle = Só executa se houver recurso livre;
  • -c 2 = Best-Enffort = Executa sem consumir muito recurso;
  • -c 1 = Real Time = Executa com prioridade.
  • Exemplo:

    ionice -c 3 -p 25876
    ionice -c 2 -p 25876
    ionice -c 1 -p 25876

    Conclusão

    Como dito anteriormente, o Linux gerencia a prioridade de processos da forma como ele, Linux, considera ser melhor para o sistema. Acontece que, as vezes, o melhor para o sistema não é melhor para nós, então a troca da prioridade de um processo se faz necessária. Com esses 3 comandos, como vimos anteriormente, podará gerenciar prioridades como bem entender. Só tome cuidado para não gerar sobrecargas desnecessárias.

    Categories: Artigos, Centos, Debian, Fedora, Linux, openSUSE, Ubuntu Tags: , , , , , , , , , ,

    Comments

    No Comments Yet. Be the first?

    Post a comment

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.