Estoy jugando con un script y me dejé llevar (todavía se está ejecutando en este momento y, sin embargo, mi computadora aún no se ha apagado). Estoy ejecutando 17 iteraciones del script (con la intención de bloquear mi computadora).
Al observar el monitor de actividad, veo que cada proceso de Python tiene un pid único y que parecen ocupar alrededor del 17-20% de mi poder de procesamiento cada uno ... ¿Cómo es eso posible? ¿Mi computadora creció mágicamente 200% de potencia y violó las leyes de la termodinámica en alguna parte?
macos
cpu
parallel-processing
Frankenmint
fuente
fuente
Respuestas:
En OS X, como otros * nixes, la carga de la CPU se mide por núcleo de procesador virtual. Si tiene múltiples, puede tener 200% y más combinados bajo carga completa.
Esto es diferente de Windows y quizás de algunos otros sistemas, donde la carga de la CPU se calcula por CPU completa (o CPU; no recuerdo cómo se comporta cuando se tienen múltiples procesadores físicos).
fuente
OS X y Linux y posiblemente otros sistemas operativos UNIX (o más bien las herramientas más comunes en estos sistemas) muestran el uso de la CPU de manera diferente a Windows. En Windows 100% significa " todos los recursos de CPU utilizados". En Linux, significa que un "hilo" (como en Hyper-threading) está completamente ocupado. Como tal, puede llegar hasta
(Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs)
en total.Aunque no está completamente relacionado, otro hecho interesante: Windows 10 normaliza aún más el uso de la CPU utilizando el estado de aceleración actual de la CPU. Por lo tanto, una CPU de 2 GHz funcionando a 1 GHz solo estará ocupada hasta en un 50%.
fuente
top
comporta de esta manera, por ejemplo.Como ya se señaló en varias respuestas, Mac muestra el porcentaje de CPU de cada proceso como 'porcentaje de un núcleo', por lo que debe dividirlo por el número de núcleos [incluido HT como 'doble']
Si no está seguro de cuántos núcleos virtuales tiene, Cmd ⌘ 3 aparecerá el panel Historial de CPU de Activity Monitor, donde simplemente puede contar las franjas;)
Directamente debajo de donde cortó la imagen está la información que necesita para determinar rápidamente el uso total real para el Sistema :, Usuario: & Inactivo: ahí radica su total simple al 100%
fuente
El monitor de actividad en realidad no mide la potencia de procesamiento que usa cada aplicación / proceso, solo lo estima usando un algoritmo. Por lo tanto, puede ser inexacto ...
Además, como señala @Vasfed, el consumo de CPU se mide por núcleo de procesador. Múltiples núcleos pueden significar un uso superior al 100% ...
Un geek de vez en cuando se topa con este fenómeno y queda estupefacto hasta que un Superusuario viene en su ayuda ...; D
fuente