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. Saiba como gerenciar a prioridade de processos no Linux com poucos comandos.
Podemos, contudo, especificar prioridades utilizando os comandos nice, renice e ionice, vejamos quando e como utilizá-los.
Gerenciando a prioridade de processos no Linux com os comandos nice, renice, ionice
Comando nice no Linux
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:
nice <prioridade> <comando>
Exemplo de uso do comando nice no Linux:
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 à +19 sendo que -20 é mais prioritário do que +19.
O termo “nice” significa legal. A prioridade -20 é menos legal do que +19, pois demandará mais “atenção do sistema” por isso é mais prioritário.
Comando renice no Linux
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 do comando renice é:
renice -10 -p PID
Exemplo de uso do comando renice no Linux:
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 os processos desse usuário no Linux passarão para prioridade “-10”.
Comando Linux 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 ionice no Linux é:
ionice -c prioridade -p PID
As possíveis prioridades do comando ionice 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 de uso do comando ionice no Linux para gerenciar processos:
ionice -c 3 -p 25876
ionice -c 2 -p 25876
ionice -c 1 -p 25876
Sobre o gerenciamento de processos no Linux
Como dito anteriormente, o Linux gerencia a prioridade de processos da forma como ele, Linux, considera ser melhor para o sistema. Acontece que, às 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.