Red Hat Training

A Red Hat training course is available for RHEL 8

13.5.2. Recuento de eventos con perf stat

Puede utilizar perf stat para contar las ocurrencias de eventos de hardware y software durante la ejecución de comandos y generar estadísticas de estos recuentos. Por defecto, perf stat funciona en modo por hilo.

Requisitos previos

Procedimiento

  • Cuenta los eventos.

    • Si se ejecuta el comando perf stat sin acceso de root, sólo se contarán los eventos que se produzcan en el espacio de usuario:

      $ perf stat ls

      Ejemplo 13.2. Salida de perf stat ejecutada sin acceso de root

      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 puede ver en el ejemplo anterior, cuando perf stat se ejecuta sin acceso de root los nombres de los eventos van seguidos de :u, lo que indica que estos eventos se contaron sólo en el espacio de usuario.

    • Para contar tanto los eventos del espacio del usuario como los del espacio del núcleo, debe tener acceso de root cuando ejecute perf stat:

      # perf stat ls

      Ejemplo 13.3. Salida de perf stat ejecutada con acceso de root

      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 defecto, perf stat funciona en modo por hilo. Para cambiar al conteo de eventos en toda la CPU, pase la opción -a a perf stat. Para contar los eventos de toda la CPU, se necesita acceso de root:

        # perf stat -a ls

Recursos adicionales

  • La página de manual perf-stat(1).