Visão geral
Em ambientes com recursos de servidor limitados, a execução de tarefas em segundo plano ou scripts em lote pesados pode degradar o tempo de resposta de serviços essenciais. Neste artigo, veremos dicas práticas sobre como usar os comandos nice e renice para definir prioridades de escalonamento de CPU e manter a estabilidade do sistema.
1. Verificação da prioridade de processos (NI/PR) e configuração do ambiente de monitoramento com htop
Instale os pacotes htop e procps, ferramentas essenciais para a prática de monitoramento da prioridade de processos.

O comando ps verifica as informações detalhadas e os valores de prioridade dos processos em execução no sistema.
No resultado exibido, NI é o valor nice que pode ser ajustado pelo usuário, enquanto PRI representa a prioridade atribuída de fato pelo escalonador do kernel.
⚙️ [Principais opções]
-e : Seleciona e exibe todos os processos em execução no sistema.-o : Define o formato de saída personalizado com as colunas desejadas (pid, ni, pri, comm, etc.).-u : Filtra e exibe apenas os processos pertencentes a um usuário específico.-p : Consulta apenas os processos correspondentes ao PID (ID do processo) especificado.-f : Exibe uma listagem em formato completo com todos os detalhes do processo.

2. Executando tarefas em segundo plano com baixa prioridade usando o comando nice
Crie um diretório de trabalho temporário e navegue até ele para gerar e gerenciar com segurança os arquivos de teste necessários para a prática.

Use o comando nice com o valor nice definido como 10 para reduzir a prioridade — cedendo o uso dos recursos de CPU — e execute a criação de um arquivo grande em segundo plano (&).

Combine os comandos ps e grep para verificar o PID do processo dd em execução e confirmar se o valor nice (NI) aplicado reflete a configuração desejada.

3. Alterando a prioridade de um processo em execução em tempo real com o comando renice
Para praticar a alteração de prioridade em tempo real, execute em segundo plano (&) um processo sleep que aguarda por 300 segundos.

Utilize a variável especial $!, que armazena o ID (PID) do processo mais recente executado em segundo plano, para salvá-lo na variável de ambiente TARGET_PID.

Verifique o valor nice atual (NI) do processo de destino com o comando ps; observe que ele está operando com o valor padrão 0.

Use o comando renice para alterar o valor nice do processo de destino em execução para 15, diminuindo sua prioridade.
Pela saída exibida, é possível confirmar que a prioridade anterior (old priority 0) foi alterada com sucesso para a nova prioridade (new priority 15).

Consulte o processo de destino novamente com o comando ps para confirmar se o valor nice (NI) foi atualizado imediatamente para 15.

Encerre forçadamente (kill -9) o processo de teste concluído para liberar os recursos do sistema.

4. Atribuindo alta prioridade (nice negativo) com privilégios de root e cuidados necessários
Como usuários comuns não podem definir valores nice negativos, utilize privilégios de administrador com sudo para aplicar o valor -5 e executar o processo com prioridade elevada em segundo plano (&).
Processos com valores nice negativos ganham maior prioridade no escalonamento da CPU, recebendo recursos do sistema de forma preferencial.

Consulte os processos em execução com o comando ps para verificar se o valor nice (NI) do processo de destino (sleep) foi configurado corretamente como -5.
No resultado exibido, é possível constatar que, ao contrário dos processos padrão normais (0), o valor nice negativo (-5) foi aplicado, operando com alta prioridade.

Vimos até aqui como ajustar a prioridade de processos usando o comando nice, uma ferramenta muito útil quando o servidor Linux começa a apresentar lentidão.
Quando os recursos do servidor estiverem sobrecarregados, defina prioridades adequadas a cada situação para operar o sistema de forma muito mais estável e eficiente.