LINUX: Modificar a Prioridade de Execução dos Processos

É possível modificar a prioridade de execução dos processos no Linux, através dos comandos nice e renice. Estes comandos são extremamente úteis em ambientes multiusuário

Imagine um servidor com muitos usuários logados e cada um executando algo. Neste tipo de ambiente, é preciso dar mais ou menos fatias de processamento aos diversos programas dos usuários, para manter um ambiente estável e organizado.

Comando nice

O comando nice ajusta o tempo disponível de CPU de um processo para mais ou para menos prioridade, a sintaxe é:

$ nice [-n ajuste_de_prioridade] [comando]

No inglês a palavra “nice” quer dizer “legal”. Se o ajuste de prioridade para um processo for um número positivo, quer dizer que ele está sendo mais legal com os outros programas diminuindo a sua prio­ridade. Se o ajuste for um número negativo, quer dizer que o programa está sendo menos legal, aumentando a sua prioridade de execução e sobrando menos tempo de CPU para os outros programas.

O ajuste de prioridade possível vai do –20 (mais prioridade / menos legal) até o 19 (mais legal, menos prioridade).

Se não for passado nenhum valor de ajuste, o comando nice ajustará a prioridade para +10, diminuindo o tempo de execução do processo, exemplo:

$ nice updatedb &

Neste exemplo o comando updatedb tem menos prioridade de execução.

No próximo exemplo o comando folha_pagamento será executado com mais prioridade.

$ nice –n –10 folha_pagamento

Comando renice

O comando renice ajusta a prioridade de execução de processos que já estão rodando. Por padrão, o comando renice recebe como parâmetro o PID de um determinado processo, a sintaxe é:

$ renice [+/-] ajuste_prioridade [opções] PID/Usuário

O ajuste de prioridade é um número inteiro que vai do –20 (maior prioridade) até o +20 (executar qualquer coisa antes deste processo).

As opções mais usuais são:

  • -p: Recebe um PID para alterar sua prioridade.
  • -u: Recebe um nome de usuário para alterar a prioridade de todos os processos deste usuário em execução.
  • -g: Recebe um nome de um grupo para alterar a prioridade de todos os processos pertencentes a este grupo.

Exemplo:

# renice -1 987 -u daemon root -p 32

Neste exemplo, o processo de número PID 987, PID 32 e todos os processos de que os usuários daemon e root são donos vão ter mais prio­ridade.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

fonte: certificacaolinux

LINUX: Processos com HTOP

Htop é uma ferramenta de monitoramento em tempo real muito avançada e interativa para processos Linux . Isto é muito similar ao comando Linux top, mas tem algumas características ricas como interface amigável para gerenciar processos, teclas de atalho, vista vertical e horizontal dos processos e muito mais.

Instalação

Debian + (baseadas)

# apt-get install htop

Agora para iniciar basta digitar o seguinte comando a partir do seu terminal:

# htop

Você vera uma tela parecida com a seguinte:

Vamos conhecer o ambiente: Informações do processador, consumo de memória etc:

Informações detalhadas sobre os processos:

Na parte inferior ainda é possível usar as funções de filtrar processos, ordená-los e até mesmo finalizá-los:

Descrição dos campos:

CampoDescrição
PIDID do processo
USERDono do processo
PRIPrioridade do processo (Varia de 0 a 139, sendo que quanto menor mais prioridade)
NI“Nices Values” afeta o valor da prioridade do processo (Varia de -20 a 19)
VIRTTotal de memória requerida pelo processo (não necessariamente está toda em uso)
RESQuantidade de memória RAM que o processo está utilizando
SHRTotal de memória Compartilhada usada pelo processo
SEstado atual do processo
CPU %Percentual de tempo de CPU que o processo está utilizando
MEM %Percentual de Memória RAM que o processo está utilizando
TIME +Tempo de processador que o processo está utilizando
COMMANDComando que iniciou o processo

Comandos são suportados:

Setas, PgUP, PgDn, Home, EndPercorra a lista de processos
Espaço“Marca”: marca de um processo. Comandos que podem operar para “matar” um processo.
U“desmarcar” todos os processos (remover todas as tags adicionadas com a tecla Espaço).
F1, hAjuda
F2, SConfiguração. Lá você pode configurar metros exibido no topo lado da tela, bem como definir várias opções de tela, escolha entre os esquemas de cores e escolha o layout do exibido colunas.
F3, /Processo de pesquisa: digite parte de uma linha de comando do processo
e destaque da seleção será transferida para ele. Enquanto na pesquisa
modo, pressionar esta tecla irá percorrer as ocorrências correspondentes.
F4, IInverter a ordem de classificação
F5, tOrganize os processos de paternidade, e o layout mostrado como uma árvore.
F7, ], –Aumentar a prioridade do processo selecionado. Isso pode ser feito apenas para o superusuário.
F8, [, +Diminua a prioridade do processo selecionado.
F9, k “Matar o processo”: envia um sinal que é selecionado em um menu, para um
ou um grupo de processos. Se os processos foram marcados.
F10, q Sair
umostra os processos pertencentes a um usuário especificado.
MOrdenar por uso de memória.
POrdenar por uso de processador.
TOrdenar por hora.

Opções via CommandLine

O htop permite que você passe opções/ argumentos na execução dele para ajudar na analise

Definir Delay

O comando htop muda as informações apresentadas rapidamente, pois os processos estão constantemente sendo atualizados. Com o comando abaixo o resultado é atualizado com o Delay (atraso) que você definir:

htop -d 15

O argumento acima tem o delay de 1 segundo, pois é calculado em décimo de segundo.

Filtro com PID

É possível filtrar com um determinado PID e exibir as informações deles

htop -p 1,19296

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este post, não tem problema! Basta comentar no que iremos responder suas dúvidas assim que for possível.

Fonte: linux.die, Treinaweb, ironlinux, remontti