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
nicepara iniciar um novo processosleep 600em 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
sudopara 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 600que você iniciou na etapa anterior. - Use o comando
renicepara alterar sua prioridade para uma prioridade menor, com um valor nice de5. - Verifique o novo nível de prioridade usando o comando
ps.
Requisitos
- O processo alvo é o
sleep 600da etapa anterior. - O novo valor nice deve ser
5. - Você deve usar
sudopara alterar a prioridade do processo (já que ele foi iniciado comsudoe pertence aoroot).
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.



