Visualizando os Processos, e Entendo seu Status

Started by vuln, 02 de October , 2006, 04:50:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

vuln

Visualizando os Processos, e Entendo seu Status

por: Marcos Vinicius M. da Silva Junior

Hoje em dia manipular processos de um SO virou quase uma profissão. :-)

O gerenciamento de processos é uma tarefa normalmente muito utilizada em servidores de banco de dados. Pois a quantidade de processos que uma aplicação como um banco gera, é de extrema importância que as prioridades sejam configuradas adequadamente.

Visualizando os processos da máquina:

ps aux | more

ps: comando

a: todos os processos de kernel u: de todos os usuários x: de todos os terminais

| more : mostrar paginando

Vamos entender agora o que cada coluna nos mostra:

user:usuário dono do processo

PID:Identificação do processo

%CPU:% de uso do processador

%mem:% de uso da memória (Memória RAM)

VSZ e RSS:Paginação (tamanho do processo)

TTY:Terminal de origem do processo ( ? processo de sistema)

STAT:R, S, D, Z e T

R - running = rodando

S - sleep = esperando

D - Deeth = morto

T - Traced = parado

Z - Zumbi = error

Variações:

< - prioridade maior que a padrão

N - prioridade menor que a padrão

T - processo em foreground

s - dono da sessão (PAI)

w - usando recurso Swap

TIME: Tempo que está ativo

COMMAND: Comando ou nome do processo

Outra opção interessante é a visualização dos processos em forma de árvore:

ps axf | more

ou

pstree

Para podermos acompanhar os processos em tempo real, podemos usar o comando top, já que o ps só nos da o status dos processos que estão no ar no momento do comando.

Planos de Execução

Trabalhar com níveis de plano de execução, pode nos ajudar por exemplo em casos que queremos executar uma aplicação e mantermos ainda o terminal livre, para continuar trabalhando no mesmo.

BACKGROUND - processo em segundo plano

FOREGROUND - processo em primeiro plano

& - inicia o processo em background

bg - coloca um processo já iniciado em background

fg - coloca um processo em foreground

jobs - lista processos em background

ctrl+z - para um processo que está em foreground

Exemplos

updatedb &

(inicia o updatedb em modo background, deixando o terminal livre)

jobs -l

(visualizando os processos em background do terminal)

fg

(o comando fg mais o PID do processo , coloca o processo em foreground)

bg

(o comando bg mais o PID do processo, coloca o processo em backgound)

Prioridade de Processos

A escala a baixo representa os valores de prioridade que um processo pode ter:

A coluna "NI" apresenta os valores de cada processo.

Os comandos para manipular os valores de cada processo são: o nice e o renice. O nice é usado apenas para declarar a prioridade de um processo quando o mesmo for iniciado, e o renice é o comando utilizado para trocar a prioridade de um processo já iniciado.

Exemplos

 nice -n -20 man ls

(inicia o comando man ls, com prioridade -20)

ps lax | grep "man ls"

(visualiza o processo "man ls")

renice -p 10

(troca a prioridade do processo para o valor "10")

Finalizando Processos

Não é muito raro processos darem erros e sermos obrigados a finaliza-los. Para matar-mos um processo não é nada lá tão complicado :P
Retirado de "http://underlinux.com.br/wiki/index.php/Tutoriais/Adm/processos"

Para iniciantes na minha opinião, é exelente.

Até mais.
"O amor por princípio, a Ordem por base, o progresso por objetivo."

Ðark$pawn

Pela colaboração contínua (e põe contínua nisso) ao fórum... Ponto Positivo!!!

Continue assim amigo!!! ;)

vuln

Muito obrigado. Não se preucupe, que até onde me for possível estarei por aqui ajudando vocês nessa jornada.

"Se você não vive para sergir, não serve para viver."

Abraços
"O amor por princípio, a Ordem por base, o progresso por objetivo."