Red Hat Training

A Red Hat training course is available for RHEL 8

13.5.2. Contando eventos com o perf stat

Você pode usar perf stat para contar ocorrências de eventos de hardware e software durante a execução do comando e gerar estatísticas destas contagens. Por padrão, perf stat opera em modo por linha.

Pré-requisitos

  • Você tem a ferramenta de espaço do usuário perf instalada como descrito em Instalando o perf.

Procedimento

  • Conte os eventos.

    • A execução do comando perf stat sem acesso root contará apenas os eventos que ocorrem no espaço do usuário:

      $ por stat ls

      Exemplo 13.2. Saída de perf stat sem acesso à raiz

      Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
      
       Performance counter stats for 'ls':
      
                    1.28 msec task-clock:u               #    0.165 CPUs utilized
                       0      context-switches:u         #    0.000 M/sec
                       0      cpu-migrations:u           #    0.000 K/sec
                     104      page-faults:u              #    0.081 M/sec
               1,054,302      cycles:u                   #    0.823 GHz
               1,136,989      instructions:u             #    1.08  insn per cycle
                 228,531      branches:u                 #  178.447 M/sec
                  11,331      branch-misses:u            #    4.96% of all branches
      
             0.007754312 seconds time elapsed
      
             0.000000000 seconds user
             0.007717000 seconds sys

      Como você pode ver no exemplo anterior, quando perf stat corre sem acesso root, os nomes dos eventos são seguidos por :u, indicando que estes eventos foram contados apenas no espaço do usuário.

    • Para contar tanto os eventos de espaço do usuário quanto do kernel-space, você deve ter acesso à raiz ao rodar perf stat:

      # perf stat ls

      Exemplo 13.3. Saída de perf stat executado com acesso à raiz

      Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
      
       Performance counter stats for 'ls':
      
                    3.09 msec task-clock                #    0.119 CPUs utilized
                      18      context-switches          #    0.006 M/sec
                       3      cpu-migrations            #    0.969 K/sec
                     108      page-faults               #    0.035 M/sec
               6,576,004      cycles                    #    2.125 GHz
               5,694,223      instructions              #    0.87  insn per cycle
               1,092,372      branches                  #  352.960 M/sec
                  31,515      branch-misses             #    2.89% of all branches
      
             0.026020043 seconds time elapsed
      
             0.000000000 seconds user
             0.014061000 seconds sys
      • Por padrão, perf stat opera em modo por fio. Para mudar para a contagem de eventos em toda a CPU, passe a opção -a para perf stat. Para contar eventos em toda a CPU, você precisa de acesso root:

        # perf stat -a ls

Recursos adicionais

  • A página do homem perf-stat(1).