PORCENTAGEM DE USO DA CPU
Estou usando Slackware 10.2. Porem, ainda nao consegui encontrar nenhum comando que me apresente, com precisao, o percentual de uso da cpu. Conheco o TOP sim. Mas eu preciso de um comando que me gere uma saida em um unico numero (nem que eu precise usar o AWK para extrai-lo), para que eu consiga depois transportar via PSQL para um Banco de Dados... Acho que eu nao consigo usar o AWK no TOP por ser DINAMICO, certo?
Se bem que, mesmo o TOP, mostra os percentuais de usuario, sistema e NICE(??) de forma separada...
Alguem POR FAVOR sabe me dizer o que posso fazer? Preciso URGENTEMENTE desta resposta!!! Estou com trabalho atrasado por isto!
Ja me recomendaram usar o arquivo /proc/loadavg, em sua primeira coluna, que representaria o percentual de cpu utilizada. Mas ele fica no maximo entre 0 e 1.5%... Acho que nao é...
GRATO PELA ATENCAO
Re: PORCENTAGEM DE USO DA CPU
Ola, ve se isso lhe serve:
bash-3.00$ ps gaux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 600 72 ? S May19 0:04 init [3]
root 2 0.0 0.0 0 0 ? S May19 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SN May19 0:00 [ksoftirqd_CPU0]
root 4 0.0 0.0 0 0 ? S May19 0:30 [kswapd]
root 5 0.0 0.0 0 0 ? S May19 0:00 [bdflush]
root 6 0.0 0.0 0 0 ? S May19 0:00 [kupdated]
root 10 0.0 0.0 0 0 ? S< May19 0:00 [mdrecoveryd]
root 11 0.0 0.0 0 0 ? D May19 0:15 [kjournald]
root 35 0.0 0.0 0 0 ? S May19 0:00 [kapmd]
Ou quem sabe isso:
$ top -n1
Re: PORCENTAGEM DE USO DA CPU
O primeiro eu acho que nao serve porque é semelhante ao "ps aux" que eu ja havia tentado usar. ELe exibe os consumos de cpu dos respectivos processos, mas se vc somar as porcentagens nao chegam nem perto do total exibido pelo TOP, por exemplo. Nao sei qual a razao disto (nao entendo muito mesmo), mas parece que, alem dos processos, há outros itens que consomem CPU e nao sao exibidos no PS. É isto mesmo?
O segundo, (top -n1) parece que é um TOP que fica estatico, ne? Acho que este é o mais viável sim. Mas tenho tres duvidas sobre ele:
1) Porque o campo CPU USER nao sai dos 96%, mesmo rodando um programa em C que gera um loop infinito?
2) Porque as porcentagens de CPU, no cabecalho, sao divididas em USER, SYSTEM e NICE? O que representa cada uma delas?
3) Porque a soma da coluna %CPU nao totaliza os 96% do cabecalho?
#top -n1
Tasks: 71 total, 3 running, 68 sleeping, 0 stopped, 0 zombie
Cpu(s): 96.0% user, 3.8% system, 0.0% nice, 0.2% idle
Mem: 255176k total, 195260k used, 59916k free, 29024k buffers
Swap: 497972k total, 0k used, 497972k free, 143660k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5837 emacario 19 0 276 276 228 R 41.3 0.1 1:50.72 loop
7689 emacario 10 0 980 980 756 R 2.0 0.4 0:00.03 top
1 root 8 0 244 244 216 S 0.0 0.1 0:03.77 init
2 root 8 0 0 0 0 S 0.0 0.0 0:00.00 keventd
3 root 19 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd_CPU0
4 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kswapd
5 root 9 0 0 0 0 S 0.0 0.0 0:00.00 bdflush
6 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kupdated
10 root -1 -20 0 0 0 S 0.0 0.0 0:00.00 mdrecoveryd
11 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
34 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kapmd
41 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
62 root 9 0 584 584 508 S 0.0 0.2 0:15.80 syslogd
65 root 9 0 448 448 396 S 0.0 0.2 0:00.00 klogd
163 root 7 -4 456 456 404 S 0.0 0.2 0:00.01 udevd
282 root 9 0 0 0 0 S 0.0 0.0 0:00.00 khubd
1602 bin 8 0 660 660 552 S 0.0 0.3 0:00.00 rpc.portmap
Grato pela atencao dispensada
Everton
Re: PORCENTAGEM DE USO DA CPU
Caro colega existem programas especificos para o problema sujerido por vc, fazer isto através de shell pode dar um trabalhão danado para conseguir valores realmente reais (mas não é impossível), entretanto deve ser levado uma serie de fatores em consideração, versão do kernel, tipo de processador, prioridade dos processos, escalonamento para dizer só alguns. Com relação as suas 3 duvidas vamos lá.
1° O que é feito neste loop infinito? qual a prioridade deste processo no sistema? exemplo se o loop não faz nada, realmente não havera alterações, agora se ele faz coisas do tipo acessos a dispositivos de I/O (gravação em disco), acesso a banco de dados, geração de graficos 3D concerteça haverá alterações.
2°
User > referente a processos dos usuários diga-se ai todos os usuários root, fulano1, fulano2, apache, squid, mysql, tomcat são só um exemplo.
System > referente a processos do kernel
Nice > quanto ao nice não me lembro muito bem agora, mas se não me engano tem algo a ver com os valores de prioridades.
3°
Quando utilizamos o comando top ele não apresenta todos os processos que estão em execução no momento através das teclas SHIFT + > ou SHIFT + < você conseguira naver através dos outros processos que não são visualizados a principio.