LPIC 1 - 103.6 MODIFICAR A PRIORIDADE DE EXECUÇÃO DE UM PROCESSO

Hoje nós vamos aprender a gerenciar as prioridades de execução dos processos. Vamos ver a prioridade padrão, executar programas com prioridades maiores ou menores do que o padrão e vamos ver também como alterar a prioridade de processos que estão em execução.

Peso 2

Prioridade é o tempo relativo de CPU que o kernel aloca a um processo. Todo processo iniciado por um usuário vem com a prioridade ajustado em zero.

NICE

O comando nice serve para alterar a prioridade de um programa que ainda será executado. Por exemplo: se você for abrir o programa Virtualbox, ele virá com o número nice 0 (zero) que é o padrão.

A prioridade do nice, varia de -20 ao 19. Esses são os números nice (NI). Os números negativos tem prioridade maior. Um outro ponto importante é que os usuários normais só podem alterar a prioridade nice de 1 até 19. Para números negativos, é necessário permissão administrativa. Já que para os números negativos apenas usuários administrativos podem modificar, podemos dizer então que toda a faixa de 19 a -20, é a permitida alteração para os usuários admins.

Resumindo:
Números Nice - +19 ao -20
Números negativos - maior prevalência (maior prioridade)
Prioridades de 1 a 19 - usuários normais só podem alterar a prioridade dentro dessa faixa
Prioridades de +19 a -20 - usuários com perfil de admin (root) podem alterar para qualquer prioridade.
Quando um programa é aberto sem ser passado um número nice - prioridade padrão é 0 (zero)
Programa aberto através do nice, porém ser ter sido especificado um número nice - será passado o número nice 10.

Sintaxe:
nice -n [ajuste] comando

Exemplo:
nice -n 1 virtualbox & - abre o virtualbox em bg com o número nice de 1.

Para vermos a prioridade e o número nice, usaremos 2 comandos: o ps e o top (veremos mais informações abaixo)

Saída do comando ps -l
E para alterar a prioridade de um programa que já está em execução? Usaremos o renice.

RENICE

Altera a prioridade de programas que já estão em execução.

Sintaxe:
renice +|- número_nice [opção] alvos

Opções:
-u - os alvos são o nome do usuário. Ao usar essa opção, TODOS os processos do usuário serão modificados.
-p - os alvos são os PIDs. Essa opção é o padrão.

Exemplo:

renice -20 -u joao - altera a prioridade de todos os processos do usuario joao.  
renice -1 -p 2141 - altera para -1 o número nice o processo de número 2141


PS e TOP

O comando PS mostra os processos que estão sendo executados na máquina. Ao usar o PS, o sistema "tira uma foto" do sistema e exibe na tela as informações dos processos que estão naquele determinado momento.

Sintaxe:
ps [opções]

Opções mais comuns:
-a - mostra processos de propriedades de outros usuários vinculados a um terminal 
-l - formato longo. Inclui prioridade, PPID, etc
-e - seleciona todos os processos
-r - mostra apenas processos em execução
-u - fornece o nome de usuário e a hora do processo
-x - mostra os processos que não foram iniciados no console
-l - mostra a coluna PRI dos processos em execução

O uso mais comum é:
ps aux



Como nesse tópico é necessário saber a prioridade do processo, basta usar o comando ps -l - mostrado mais acima.

Já o comando TOP, mostra os processos em tempo real. E ainda é possível redefinirmos a prioridade de um processo dentro do top. Para isso, basta selecionarmos o processo em questão e teclarmos a letra r.




Comentários