Significado de %CPU reportado por top

Horst H. von Brand vonbrand en inf.utfsm.cl
Mar Feb 10 22:04:51 CLST 2009


Eduardo Silva <edsiper en gmail.com> wrote:
> > Nones, el % de cpu _no depende_ del intervalo en que mides!!
> > [En realidad si, ya que top gasta cpu mientras mide, pero descartemos
> > los efectos cuanticos ;)]

Exacto.

> Todo proceso de medicion de uso de CPU depende del intervalo segun fue
> calculado.

No. La manera "tradicional" de medir es fijarse en cada tick del reloj en
que anda la CPU, y sumarle ese intervalo (jiffy) a esa tarea. Si hay dos (o
mas) tareas en el mismo tick, las otras quedan sin contabilizar, claro.

No se exactamente como lo hacen los "tickless kernels" que se usan
ahora... pero me imagino que simplemente contabilizan todo el periodo
(variable) a la tarea del caso.

Una manera mas precisa (que algunos sistemas usan) es tener otro reloj con
periodo diferente a los jiffies y ver en que anda la CPU cuando este se
dispara. De esta forma se disminuyen efectos periodicos sincronizados con
los jiffies.

> En realidad para entender mejor la medicion de % CPU es necesario explicar
> un poco como se calcula:
> 
> Como medida base se utilizan los jiffies (
> http://en.wikipedia.org/wiki/Jiffy_(time), cada jiffie puede definirse como
> la duracion de un tick ), es decir, un proceso o el sistema en general usa X
> jiffies desde su inicio y la forma de calculo depende de la cantidad
> utilizada en un lapso de tiempo determinado comparado con el total.
> 
> Las variables que intervienen son las siguientes:
> 
> (se asume que 1 jiffie es igual a 1 clock tick)

Por definicion.

> a) Jiffies utilizados
> b) Jiffies total (capacidad maxima)
> c) Clock Ticks por segundo
> d) Frecuencia de medición

> Dependendiendo de "que es lo que se quiera medir" dependera de donde se
> obtiene la informacion en linux, supongamos que tenemos un proceso N:

"Donde se obtiene la informacion" no tiene sentido, los datos listados son
obtenidos por el nucleo mediante la estrategia indicada antes.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile 2340000       Fax:  +56 32 2797513


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