Categorias
Tutoriais

Como gerenciar prioridade de processos no 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. 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:

Terminal
nice <prioridade> <comando>

Exemplo de uso do comando nice no Linux:

Terminal
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 é:

Terminal
renice -10 -p PID

Exemplo de uso do comando renice no Linux:

Terminal
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:

Terminal
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 é:

Terminal
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:

Terminal
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.

Por Emanuel Negromonte

Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.

Sair da versão mobile