Niceness
100%

Processos · Lição 8

Niceness

Aprenda como os valores nice influenciam o peso do escalonamento da CPU para processos Linux comuns.

O Linux pode executar threads simultaneamente em diferentes núcleos da CPU e dividir o tempo de um núcleo entre mais threads executáveis do que consegue executar de uma vez. O escalonador faz essas escolhas de acordo com a política de escalonamento, a prioridade, a afinidade e a carga de trabalho. Um valor nice é uma das entradas usadas nas políticas comuns de compartilhamento de tempo.

Interpretação dos Valores Nice

O intervalo convencional de nice vai de -20 a 19:

  • Um valor menor atribui a uma tarefa um peso de escalonamento maior em relação a tarefas comparáveis.
  • Um valor maior a torna mais “gentil” ao conceder-lhe um peso relativo menor.
  • O padrão normalmente é 0.

Niceness não reserva uma porcentagem da CPU nem garante a execução imediata. Seu efeito é mais visível quando tarefas executáveis comparáveis disputam tempo de CPU. Políticas de tempo real, cgroups, afinidade de CPU, esperas por E/S e outros controles podem predominar no comportamento observado.

Sob a mesma política comum de escalonamento, qual valor nice oferece maior peso relativo da CPU?

Visualização do Niceness

Em top, a coluna NI exibe o valor nice. Você também pode solicitá-lo a ps:

$ ps -o pid,ni,pri,stat,cmd -p 3245

NI é o valor nice visível ao usuário. Uma coluna PRI ou semelhante pode representar uma prioridade derivada do escalonador, e sua escala varia conforme a ferramenta e a classe de escalonamento; portanto, não presuma que as duas colunas sejam intercambiáveis.

Qual coluna de top normalmente exibe o valor nice?

Início de um Comando com `nice`

Use nice para iniciar um novo comando com um valor ajustado:

$ nice -n 5 long-computation

O ajuste solicitado e a sintaxe aceita podem ser verificados no manual local. Um usuário sem privilégios normalmente pode tornar um comando mais gentil aumentando seu valor. Atribuir um valor nice menor e, portanto, um peso de escalonamento mais favorável exige privilégios adequados ou limites de recursos configurados.

O que nice -n 5 long-computation faz?

Alteração de um Processo Existente com `renice`

Use renice para um processo que já está em execução:

$ renice -n 10 -p 3245

Esse comando solicita o valor nice 10 para o PID 3245. Verifique primeiro o destino, pois os PIDs podem ser reutilizados, e então confirme o valor resultante. As permissões dependem da propriedade, dos privilégios, dos limites de recursos e da política do sistema. Aumentar o valor nice normalmente é permitido para um processo que você possui; desfazer essa alteração pode não ser permitido sem privilégios.

Qual ferramenta altera o valor nice de um processo existente?

O laboratório Gerenciamento e Monitoramento de Processos Linux oferece um ambiente controlado para visualizar e alterar valores nice. Compare tarefas limitadas pela CPU em disputa, em vez de esperar uma diferença visível em um sistema ocioso.

Lição concluída

Você concluiu Niceness

Agora você sabe interpretar e ajustar niceness sem tratá-lo como uma garantia de CPU.

  • Leia valores nice menores como um peso relativo maior de escalonamento.

  • Inspecione NI separadamente dos campos de prioridade derivados.

  • Use nice ao iniciar um comando.

  • Use renice para um processo existente e verificado.

Salve seu progresso

Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.

Criar uma conta gratuita
Próxima Lição
Voltar para Processos