Los porcentajes de uso de CPU son una gran mentira, y cada vez es más gorda

Tema en 'Tecnología' iniciado por Sele, 2 May 2018.

  1. Autor
    Sele

    Sele CI entre 105 y 120 Moderador

    Registrado:
    6 Ene 2012
    Mensajes:
    7,320
    Temas:
    977
    Calificaciones:
    +2,632
    El porcentaje de uso de la CPU es un dato que suele usar todo el mundo; sin embargo, deberías saber que es una mentira total.

    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.

    Qué significa el porcentaje de uso de la CPU

    En Windows, esto es tan fácil como pulsar Ctrl+Alt+Supr, y pulsar en “Administrador de tareas”; este programa muestra todo lo que está ocurriendo en el sistema, y en concreto, en la pestaña “Rendimiento” podemos ver cómo se están usando los recursos.

    Este no es el único método para obtener estos datos, pero es el más popular. Otros sistemas operativos como Linux y macOS tienen sus propias herramientas, que cumplen funciones parecidas. En todos los casos, los datos se muestran igual: en porcentajes.

    La idea es simple: cuanto mayor sea el porcentaje, es que el procesador está trabajando más. Es un concepto fácil de comprender por todo el mundo, y nos permite contar con una medición estandarizada en todos los equipos. Excepto que es completamente errónea.

    Qué pasa realmente cuando Windows te dice que el procesador está al 90%

    Brandon Gregg, ingeniero de Netflix, lo sabe muy bien, y lo ha explicado en una conferencia que se ha vuelvo viral, y no solo entre programadores.

    El porcentaje de uso de la CPU se calcula midiendo el tiempo entre que un hilo empieza a ejecutarse en el procesador, y termina. De esta manera, en un momento determinado podemos saber cómo de ocupado estaba el procesador, mostrándolo en un porcentaje. Por ejemplo, si el sistema nos dice que el procesador está al 90%, lo podemos interpretar así:

    [​IMG]

    El problema es que los ordenadores ya no funcionan así. Los hilos no ocupan el procesador, hacen lo que tienen que hacer, y se van; en muchas ocasiones, tienen que esperar a otros recursos, como datos de la memoria, o a que otros hilos les devuelvan un resultado. Así que, en realidad, un 90% de uso es algo más parecido a esto:

    [​IMG]

    Es decir, el procesador sólo está siendo usado durante un tiempo, el 20% aproximadamente; el 70% restante es tiempo ocupado por hilos que están esperando a algo. Estos son datos reales sacados de la nube de Netflix, donde este tipo de información “falsa” de uso de recursos es un problema.

    La cosa va a peor. Comparando dos servidores ejecutando las mismas peticiones en la base de datos, Gregg se dio cuenta de que el rendimiento de uno era un 27% inferior; sin embargo, al analizar ambos sistemas, no consiguió encontrar esas diferencias.

    Por qué el porcentaje de uso de la CPU es una mentira

    Por lo tanto, la explicación es que hay algo que ocurre a nivel de hardware, a nivel de CPU. Analizando la cantidad de instrucciones por ciclo de reloj, es cuando se dio cuenta de que algo ocurría dentro del procesador. 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.

    Y esto le llevó a los verdaderos culpables: Spectre y Meltdown. Más concretamente, los parches que los fabricantes han lanzado para evitar estos exploits.

    Recordemos que Spectre y Meltdown fueron dos exploits descubiertos en la inmensa mayoría de procesadores actuales; afectan al procesador, así que no se pueden solucionar a nivel de software, sólo es posible mitigarlos.

    Y esta “mitigación” ha añadido ese aumento en el tiempo de espera a nivel de la memoria caché, que a su vez se ha convertido en una bola de nieve hasta que, finalmente ha llegado a un hecho innegable: el porcentaje de uso de la CPU es mentira.



    Los procesadores multihilo confunden a los sistemas operativos

    El problema revelado por Gregg no es el único. Al fin y al cabo, los sistemas operativos ya nos engañan con otro aspecto fundamental de nuestros procesadores: la cantidad de núcleos.

    Los procesadores multihilo actuales de AMD e Intel no son reconocidos como tal en el porcentaje de uso de la CPU. Por ejemplo, con un procesador de 4 núcleos y 8 hilos, Windows nos mostrará ocho gráficas de uso de CPU; y eso no es así, ya que los cuatro hilos adicionales no son “reales” al no estar asignados en exclusiva a un sólo núcleo.

    Tal vez va siendo hora de pensar en un nuevo método para calcular el uso de un procesador; y sobre todo, de tener en cuenta el impacto que tienen parches como los de Meltdown y Spectre en usos reales.

    Fuente: El porcentaje de uso de la CPU es una gran mentira, y cada vez es más gorda
     
    • Me gusta Me gusta x 4
  2. <Pao>

    <Pao> Erma

    Registrado:
    16 Mar 2016
    Mensajes:
    2,510
    Temas:
    137
    Calificaciones:
    +1,710
    excelentísimo aporte Sele!
    tnx
     
    • Me gusta Me gusta x 1
  3. shinku_medium

    shinku_medium antihedonista fantasioso

    Registrado:
    29 Nov 2009
    Mensajes:
    4,082
    Temas:
    289
    Calificaciones:
    +470
    Es hora de abrir los ojos, en realidad resulta que estamos en las cavernas cuando los equipos se bloqueaban por un programa erróneo. Parece que no vivimos con los SO del siglo 21 que tanto alaban sus compañias.
     
    • Me gusta Me gusta x 1
  4. KintaroKomaru

    KintaroKomaru Pingüino con estilo.

    Registrado:
    16 Ene 2018
    Mensajes:
    712
    Temas:
    85
    Calificaciones:
    +605
    Vaya de lo que uno se entera a estas alturas.
     
  5. Evil

    Evil

    Registrado:
    18 Jul 2002
    Mensajes:
    2,396
    Temas:
    26
    Calificaciones:
    +52
    Vaya que interesante, entonces solo es el tiempo que el hilo esta en el cpu, no importa si esta ejecutando algo o oslo esta en espera este hara uso de cpu, pero la pregunta es de cuanto? mostrara el mismo porcentaje de uso de cpu cuando este esta activo a cuando solo esta en espera? porque pense que mostraba uso de cpu de acuerdo a las instrucciones que estaba ejecutando cada hilo o tarea no por el simple hecho de ser un hilo y que este este sin hacer nada
     
  6. Japón

    Japón あなたは本当にこれを翻訳に行きましたか? Moderador

    Registrado:
    16 Mar 2008
    Mensajes:
    1,038
    Temas:
    19
    Calificaciones:
    +571
    Esto se ve hasta en la memorias RAM, hace poco doble mi memoria RAM y resulta que ahora la memoria que está en "espera" es mas del doble que antes xd
     
    • Me gusta Me gusta x 1

Compartir esta página

Cargando...