Notícias sobre Ubuntu, Debian, Fedora, Linux, Android, Tecnologia, LibreOffice e muito mais!

Gerenciando prioridade de processos no GNU/Linux

Gerenciando prioridade de processos no GNU/Linux

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 essas prioridades dando maior acesso aos processos que possuem maiores demandas.

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.
Vejamos a sintaxe do comando.
# 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 -20 à +20 sendo que -20 é mais prioritário do que +20.

O termo “nice” significa legal. A prioridade -20 é menos legal do que +20, 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 sintaxe 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 usuário
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 sintaxe 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.
[ads-post]
Comentários