Tecnología, Internet y juegos
52 meneos
2780 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear

El porcentaje de uso de la CPU es una gran mentira, y cada vez es más gorda

Hay muchas razones por las que no deberías creerte el porcentaje de uso de la CPU; pero la cosa va a peor, hasta el punto de que es un dato irrelevante. Seguro que en más de una ocasión has notado que tu ordenador iba lento, que los programas tardaban en cargar, o que un juego de repente iba a saltos. Y es muy posible que inmediatamente hayas buscado cuánto está siendo usada la CPU, para saber si realmente está a tope o si ocurre algo más.

| etiquetas: cpu , brandon gregg
40 12 22 K 6
40 12 22 K 6
  1. Que me corrijan los expertos lo que he entendido.

    En una medición de uso de la CPU si marca 90% puede ser perfectamente que el procesador haya trabajado realmente el 20% del tiempo y el 70% restante lo haya pasado esperando entradas de datos de la memoria.

    Si lo he entendido bien, sigue pareciéndome práctica la medida porque indica el tiempo en que el procesador ha sido usado para un proceso, bien sea operando, bien sea esperando.
  2. Hay una forma más simple de explicarlo y es con esta gráfica que indica el gap entre la velocidad de la CPu y la de la memoria (solo llega a 2010, se ha seguido incrementando) Las CPU son cada vez más eficiente pero las memorias no llegan a suministrarles los datos con la suficiente capacidad, para eso se han desarrollado técnicas de caché cada vez más sofisticadas ... que han mandado a tomar por el saco Spectre y Meltdown (para ver como funcionan, aquí www.calderodemurias.com/2018/01/spectre-recuperacion-del-dato-entre-lo)

    Aunque por una parte, lo que dice del hyperthreading es cierto, no es un core, son sólo un conjunto de registros que utiliza los mismos elementos de cómputo, en la práctica, el Hyperthreading sí que aumenta el rendimiento porque cuando un thread se queda tonto esperando por datos de la memoria, el otro puede seguir currando. Si tienes un procesador de 2 Ghz (que vamos a suponer ejecta teóricamente 2 millones de instrucciones por segundo por core) cuando te dice que con HT tienes un 30% más ... no es que ejecutes 2,6 millones ... sino que de unas reales (me invento la cifra, pero no andaré muy lejos) 0,5 millones pasas a ejecutar 0,65 (nunca se llega a toda la potencia porque la memoria no puede dar los suficientes datos a la CPU) De hecho, lo mejor serían CPUs con 8 threads por core, como las SPARC T5 que son las que más tiempo de CPU aprovechan (la última creo que es una bestia de 32 cores y 8 threads por core)

    Luego salen cenutrios diciendo que da lo mismo llenar los canales de memoria o no.  media
  3. #1

    Lo has entendido bien, puede ser un 70-20 o incluso peor (al final depende de cómo accedas los datos, si accedes a muy pocos datos muy fragmentados es peor, si accedes a bloques de datos continuos que aprovechen el tráfico entre memoria y CPU, mejor)

    Creo que el mínimo que se transfiere son páginas de 4K, si accedes a los datos de esta manera, es el mejor rendimiento, si pillas datos de 4 en 4 bytes y dispersos peor.
  4. Los procesadores multihilo confunden a los sistemas operativos

    Pues no, los sistemas operativos manejan muy bien los hilos de los procesadores. Lo que a veces no funciona bien es la interpretación de las herramientas que hacen algunos.
  5. #2 Gracias por la explicación, soy totalmente analfabeto en el tema y lo he entendido.
    Los chinitos de la CPU se tocan los huevos porque los chinitos de la memoria están hasta arriba de curro y no dan abasto.
    Pues sí, hay que ampliar la cocina para que lleguen a tiempo todos los pedidos o cerramos el restaurante.
    xD xD
  6. #2 ¿ gap? ¿en serio?
  7. #6 ¿ ha dicho una palabra en ingles ? ahora mismo llamo a mi hitman de cabecera para que lo snipe cuando salga del hall de su casa :troll:
  8. A mí todo esto me resulta indiferente,yo siempre le echo 10€.
  9. #7 exacto, así de tonto ha sido el uso de esa palabra, gracias por ilustrarlo con varios ejemplos más.
  10. Por eso cada ves se usan memorias caché más gordas.
  11. El artículo original (1) es de hace casi un año, no se de dónde sacan las referencias a Meltdown y Spectre, tiene otro artículo "KPTI/KAISER Meltdown Initial Performance Regressions" (2).

    (1) www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html
    (2) www.brendangregg.com/blog/2018-02-09/kpti-kaiser-meltdown-performance.
  12. Vamos, que no sabe interpretar los datos que muestra y se saca chorriarticulo sensacionalista. Hace ya muchos años que los So gestionan perfectamente los hilos de ejecución múltiples...
  13. Esto me parece un artículo estilo listillo del que viene a decirte que algo "realmente" no es verdad y lo coge con pinzas. Al final depende de cómo lo interpretes, pero el funcionamiento actual me parece correcto, las personas que no sepan mucho sobre como funcionan se hacen una idea de qué tan ocupado está el ordenador y los que saben algo más igualmente, y además sabrán cosas que comenta el artículo.
  14. También influye que hoy en dia los juegos y programas estén customizado como el culo ¿no?
  15. #3 ?( ¿En qué afecta la fragmentación? En el artículo alude a problemas de la gestión de datos entre la CPU y la memoria caché. La fragmentación * es algo propio de unidades de disco fijo.
    ---
    Y siguiendo este camino, descubrió que problemas en la gestión de la memoria caché provocaba un aumento del 16% en el tiempo de espera de cada hilo.
    ---

    cc. #1

    * (que sea significativa como para afectar al rendimiento, me refiero)
  16. #14 ¿customizados? :shit:

    A ver si vas a tener algún virus...
  17. #15 Fragmentación puede haber en cualquier dispositivo de almacenamiento temporal o no. Los discos rígidos lo sufren mucho porque los datos se almacenan mucho tiempo. En la ram también pasa mucho. Si en un casette borras algunas canciones que no te gustan y en esos espacios metes otras, en algún momento tendrás espacios libres donde no cabe ningún tema. O lo cortas en varios pedazos (fragmentación), o tienes ese espacio desaprovechado y no puedes meter mas canciones.
  18. Obsolescencia programada.
  19. #14 ¿Personalizados como el culo? ¿Igual querías decir "programados" (developed)?
  20. #18 Sí, ¿pero en la caché, tanto como para ser significativo?
  21. Sensacionalista/errónea/antigua/irrelevante (no habla de si pasa en Linux).
  22. #20 Seguramente la palabra que buscaba era "optimizados".
  23. #15

    Cuando bajas a la memoria a por datos subes bloques de 4K (depende del procesador pero creo que es así) si el siguiente dato que pides está en esas 4K te lo da de la cache y va como una moto pero si no está ahí se produce un fallo de cache, descartas los datos y traes otro bloque de 4K con el consiguiente perjuicio en latencia. Cuando hablo de fragmentación me refiero en la forma de acceder a los datos, no que la memoria se fragmente (que lo hace, pero eso casi no afecta)

    Encima, para complicar la cosa, piensa que hay tres niveles de cache, L1, con 32K para datos y 32K para código, L2 un poco más grande y mas lenta (creo que son unos 128KB por core) y L3 que es la que se anuncia que es compartida entre todos los cores, aunque en realidad asigna entre 1 y 2 MB por core, que es la más lenta de todas.
  24. #14

    Más bien optimizados con el culo.
  25. #21

    Desde hace mucho se tiende a meter lo más posible en memoria, porque va rápida.

    Y es cierto, va rápida, pero cuando metes GB de datos en memoria, a esta ya le cuesta moverlos y como dije antes, las memorias no evoluciona tan rápido como las CPUs.

    Últimamente no se comenta, pero las CPU tiene un multiplicador de frecuencia, es decir, una velocidad interna y otra de comunicación con la memoria una los PCI. Mientras que la interna son GHz la externa son pocos cientos de MHz (lo de la memoria DDR4 a 2400 es un “truco”)

    La CPU de mi casa creo que tiene un multiplicador de x40 (el bus va a 100Mhz, la CPU a 4 GHz)  media
  26. #26 Leches esa era la palabra que ayer no me salía.
  27. #24 Exacto, el sueño hace estragos en la mente.
comentarios cerrados

menéame