+ Responder ao Tópico



  1. #1
    emacarios
    Visitante

    Padrão 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

  2. #2

    Padrão 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

  3. #3
    emacarios
    Visitante

    Padrão 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

  4. #4
    belvio
    Visitante

    Padrão 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.


    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.


    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.