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.

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

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

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.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar