cmo é feito o calulo da cpu ?
Gente... Sei muito bem usar o top. Sei pra que ele me serve.. Mas como ele calula a CPU usada pelo usuário, pelo sistema e ociosa ?
Como e feito o caluculo ?
PARECE SIMLPES A PERGUNTA MAS NÃO É...
Notem : A No momento tenho
Cpu(s): 1.7% us, 0.7% sy, 0.0% ni, 97.7% id
com 3 processos assim :
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
639 root 15 0 171m 39m 135m S 1.3 7.9 4:24.85 X
3744 aluno 16 0 27512 14m 25m R 0.7 2.9 0:02.19 kdeinit
3314 aluno 15 0 117m 61m 92m S 0.3 12.3 0:09.04 acroread
Me endentam por favor.
Um processo quando é processado tem 100 por cento da cpu pra processá-lo PORQUE è 1.7 pro usuário ?
E porque é 1.3 % de cpu para o pid 639 ?
Como o linux faz essa divisão ? Existe parcelamento de uso de cpu ? Como é feito essa divissão pelo kernel ?
PORFAVO ME AJUDEM...
cmo é feito o calulo da cpu ?
O comando TOP é bom para acompanhar os processos, porém ele tem algumas particularidades...
No quesito CPU, no momento que você tirou a fotografir, ele estava usando apenas 1,7 % de CPU, se você tem mais de um processador, esse valor está distribuído entre os processadores... No SUS Enterprise, eu digito "1" para mostrar o consumo por CPU.
O línux tem possibilidade de dar preferência a alguns processos e limitar outros, mas não creio que iso tenha sido usado, pois é uma configuração a parte...
Se você envia um processo pesado e não tem mais ninguém trabalhando, ele vai usar 100% de CPU até resolver o processo, se houver mais gente trabalhando, ele vai usar a CPU disponível, e vai liberar o mais breve possível...
O consumo de memória é outra festa... se você somar todos os percentuais, vai perceber que passa de 100%, por que esse percentual se refere ao total de memória alocada para esse processo e não sobre toda a memória existente...
Acho que o top merece ser estudado com mais detalhes... não é totalmente intuitivo...
cmo é feito o calulo da cpu ?
Muito obrigado cara pela resposta. valeu mesmo.
Mas onde eu posso encontrar um material que me explique como o TOP funciona ?
Re: cmo é feito o calulo da cpu ?
Citação:
Postado originalmente por Raquelima2
Gente... Sei muito bem usar o top. Sei pra que ele me serve.. Mas como ele calula a CPU usada pelo usuário, pelo sistema e ociosa ?
Como e feito o caluculo ?
PARECE SIMLPES A PERGUNTA MAS NÃO É...
Notem : A No momento tenho
Cpu(s): 1.7% us, 0.7% sy, 0.0% ni, 97.7% id
com 3 processos assim :
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
639 root 15 0 171m 39m 135m S 1.3 7.9 4:24.85 X
3744 aluno 16 0 27512 14m 25m R 0.7 2.9 0:02.19 kdeinit
3314 aluno 15 0 117m 61m 92m S 0.3 12.3 0:09.04 acroread
Me endentam por favor.
Um processo quando é processado tem 100 por cento da cpu pra processá-lo PORQUE è 1.7 pro usuário ?
não é 1.7% pro usuario. o que está acontecendo é que, no momento que tu executou o comando top, 1.7 % do tempo da cpu estava sendo utilizada em modo usuario. o calculo desse valor é feito em 2 leitura, o top le o arquivo /proc/stat, dorme um pouco e le novamente depois ele calcula quantos jiffies, que seriam como tics da cpu, forma feitos entre essas 2 leituras. isso vai dar o tempo d cpu... depois ele verifica qual a porcentagem desse tempo foi utilizada em modo usuario, em modo sistema, doados através do nice e utilizados pelo idle (seriam os jiffies que nao foram usados para fazer nada util).
Citação:
Postado originalmente por Raquelima2
E porque é 1.3 % de cpu para o pid 639 ?
porque entre as 2 leituras do top (do arquivo /proc/639/stat) o processo 639 usou somente 1.3 %
Citação:
Postado originalmente por Raquelima2
Como o linux faz essa divisão ? Existe parcelamento de uso de cpu ? Como é feito essa divissão pelo kernel ?
PORFAVO ME AJUDEM...
isso ja nao tem nada a ver com as respostas anteriores.... isso é feito pelo escalonador de processos do kernel, existe uma lista/fila de processos que vao sendo escalonados para a cpu... como o cara ai em cima falou, também é possivel alterar a prioridade deles.
Eu fiz uma biblioteca que pega as mesmas informacoes que o top mostra e mais algumas coisas uteis sobre o funcionamento do linux, se tu tiver interesse em saber como são obtidos os valores do top, de uma olhada no arquivo src/proc.c dos fontes da biblioteca (http://freshmeat.net/liblproc/), o codigo esta cheio de comentarios uteis.
Bom, nao sei se eu entendi as tuas perguntas, confesso que achei meio vago o q tu perguntou... mas espero ter ajudado, qq coisa posta ai!
Um abraco,
-
Marcelo Veiga Neves
http://www.inf.ufsm.br/~veiga/
cmo é feito o calulo da cpu ?
Citação:
Postado originalmente por Anonymous
Muito obrigado cara pela resposta. valeu mesmo.
Mas onde eu posso encontrar um material que me explique como o TOP funciona ?
Ah, sei lá... um bom comeco é:
- man top :-)
- codigos fonte do pacote procps (que contém o top)
- codigo fonte da minha biblioteca (http://www.freshmeat.net/liblproc), pelo menos tem comentarios em portugues :-)
- e alguns manuais sobre o /proc filesystem que tu achar no google.
Falou... espero ter ajudado!
--
Marcelo Veiga Neves
http://www.inf.ufsm.br/~veiga