Estoy tratando de usar la fórmula de GNU coreutil top para calcular los usos de la CPU en porcentaje. Pero arriba usa un medio_total para calcular el porcentaje, que agrega 0.5 al porcentaje.cálculo de uso de la CPU del comando superior
En utils.c de la parte superior de source, la línea siguiente (al 3,8 beta1, es en número de línea: 459): -
* fuera ++ = (int) ((* diffs ++ * 1000 + half_total)/total_change);
Esto se traduce en: ((* diffs ++ * 1000)/total_change) + 1/2 lo tanto, siempre da un número, que es: "10 veces el porcentaje, más 0,5". Entonces, si el porcentaje es x, devolverá 10x + 0.5.
¿Alguien puede explicar cómo se calcula este promedio? o al menos algún puntero donde puedo obtener la ayuda?
PS: ¿Por qué no podemos simplemente usar (*diffs++/total_change) * 100
para obtener el porcentaje requerido?
código fuente de Top se encuentra en: - http://downloads.sourceforge.net/unixtop/top-3.8beta1.tar.gz?modtime=1210117842&big_mirror=0
pero ¿qué pasa con la parte "10x"? – Sabya
Porque el valor está en décimas de un porcentaje. – starblue