Ajustar o Escalonamento de Processos

Red Hat Enterprise LinuxBeginner
Pratique Agora

Introdução

Neste desafio, você explorará como gerenciar o escalonamento de processos em um sistema Linux. O escalonamento de processos é uma função fundamental do sistema operacional que determina qual processo terá permissão para usar a CPU e por quanto tempo. Como administrador de sistemas, você pode influenciar esse escalonamento ajustando as prioridades dos processos. Você utilizará os comandos nice e renice para controlar a prioridade dos processos, uma habilidade essencial para otimizar o desempenho do sistema e garantir que aplicações críticas recebam os recursos necessários.

Este é um Desafio (Challenge), que difere de um Laboratório Guiado por exigir que você tente concluir a tarefa de forma independente, em vez de apenas seguir passos de aprendizado. Desafios costumam ser um pouco mais complexos. Se encontrar dificuldades, você pode debater com o Labby ou verificar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 98%. Ele recebeu uma avaliação positiva de 100% dos alunos.

Iniciar um Processo com Prioridade Personalizada

No Linux, cada processo possui um valor "nice", que influencia sua prioridade de escalonamento. Esse valor varia de -20 (maior prioridade) a 19 (menor prioridade). O comando nice permite executar um novo comando com um valor nice específico. Note que apenas o usuário root (ou um usuário com privilégios de sudo) pode definir um valor nice negativo para aumentar a prioridade de um processo.

Tarefas

  • Use o comando nice para iniciar um novo processo sleep 600 em segundo plano.
  • Atribua ao novo processo uma prioridade alta com um valor nice de -10.
  • Verifique a prioridade do novo processo usando o comando ps.

Requisitos

  • O comando a ser executado é sleep 600.
  • O processo deve ser iniciado com um valor nice de -10.
  • Você deve usar sudo para atribuir um valor nice negativo.
  • O processo deve ser executado em segundo plano para que você possa continuar usando o terminal.

Exemplo

Após iniciar o processo, a saída de ps -e -o pid,ni,comm | grep sleep deve exibir o processo sleep com um valor NI (nice) de -10. O PID será diferente em cada execução.

ps -e -o pid,ni,comm | grep sleep
   2250 -10 sleep

Você também pode usar ps -e -o pid,ni,comm para visualizar todos os processos e seus respectivos valores nice:

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250 -10 sleep
✨ Verificar Solução e Praticar

Ajustar a Prioridade de um Processo em Execução com renice

Às vezes, é necessário alterar a prioridade de um processo que já está em execução. Para isso, utiliza-se o comando renice. Assim como no nice, você precisa de privilégios de sudo para aumentar a prioridade (definir um valor nice menor ou mais negativo) de um processo. Você também precisará de sudo para alterar a prioridade de um processo que pertença a outro usuário, como o root.

Tarefas

  • Encontre o ID do Processo (PID) do processo sleep 600 que você iniciou na etapa anterior.
  • Use o comando renice para alterar sua prioridade para uma prioridade menor, com um valor nice de 5.
  • Verifique o novo nível de prioridade usando o comando ps.

Requisitos

  • O processo alvo é o sleep 600 da etapa anterior.
  • O novo valor nice deve ser 5.
  • Você deve usar sudo para alterar a prioridade do processo (já que ele foi iniciado com sudo e pertence ao root).

Exemplo

Após executar o comando renice, a saída de ps -e -o pid,ni,comm | grep sleep deve mostrar o processo sleep com o novo valor NI de 5.

ps -e -o pid,ni,comm | grep sleep
   2250   5 sleep

Você também pode usar ps -e -o pid,ni,comm para ver todos os processos:

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250   5 sleep
✨ Verificar Solução e Praticar

Resumo

Neste desafio, você aprendeu os fundamentos do ajuste de prioridades de escalonamento de processos em um sistema Linux. Você praticou o uso do comando nice para lançar um novo processo com uma prioridade específica e o comando renice para modificar a prioridade de um processo que já estava em execução. Você também aprendeu que aumentar a prioridade de um processo (definir um valor nice negativo) requer privilégios administrativos (sudo). Essas habilidades são essenciais para a administração de sistemas e o ajuste de desempenho.