Significado de %CPU reportado por top

Alejandro Weinstein alejandro.weinstein en gmail.com
Mar Feb 3 19:41:59 CLST 2009


Hola:

Estoy un poco confundido con el significado de %CPU reportado por top.
La siguiente es la definicion del manual:

       k: %CPU  --  CPU usage
          The task's share of the elapsed  CPU  time  since  the  last  screen
          update,  expressed as a percentage of total CPU time.  In a true SMP
          environment, if 'Irix mode' is Off, top  will  operate  in  'Solaris
          mode'  where  a task's cpu usage will be divided by the total number
          of CPUs.  You toggle 'Irix/Solaris' modes with the  'I'  interactive
          command.

Y esta es una captura de top

Tasks: 128 total,   2 running, 126 sleeping,   0 stopped,   0 zombie
Cpu(s): 13.5%us,  1.8%sy,  0.0%ni, 84.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2062952k total,   934044k used,  1128908k free,    29032k buffers
Swap:  2008084k total,        0k used,  2008084k free,   335764k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10030 ajw       20   0 67632  23m 7360 S   22  1.2   0:09.54 python
 5322 root      20   0  293m  27m 8436 S    6  1.4   2:40.33 Xorg
 5934 ajw       20   0  249m 127m  26m S    2  6.3   2:58.27 firefox
 4914 avahi     20   0  3404 1960 1244 S    1  0.1   0:08.06 avahi-daemon
 5819 ajw       20   0 21232 8424 6944 R    1  0.4   0:21.72 multiload-apple
    1 root      20   0  3056 1884  564 S    0  0.1   0:01.24 init

Como ven, aparece Cpu(s): 13.5%us, y para el proceso 10030 (python),
aparece %CPU 22. Segun la definicion del manual, entiendo que en los
ultimos 3 segundos (periodo de actualizacion de top), el 13.5% del
periodo fue usado por la CPU por programas de usuario, y de ese 13.5%,
el 22% fue usado por python. Sin embargo mi interpretacion no cuadra,
porque la suma de todos los procesos no suma 100, sino 32.

Es posible que el 68% faltante este repartido entre los otros
procesos, y que aparezca como 0 porque fue truncado?
Hay otra explicacion?
El tener dos nucleos afecta en algo?

Saludos,
Alejandro.


Más información sobre la lista de distribución Linux