Ayudar a identificar qué usa la CPU cuando la lista de todos los procesos del Monitor de actividad no ayuda

Problema

Después de reiniciar, y con solo el Monitor de actividad abierto, mi MacBook Pro (10.6, i7) muestra un porcentaje de inactividad muy alto (98 % o superior), pero poco después cae al 40 % - 50 %.

En la lista del Monitor de actividad de todos los procesos :

  • nada explica esta caída.

cinco preguntas

¿A qué se debe la caída del porcentaje de inactividad?

¿OS X ejecuta algo que no figura como proceso en el Monitor de actividad?

¿Cierra una CPU o dos?

¿Hay alguna manera de obligarlo a que me preste toda la atención de la CPU, aunque no la esté usando?

Para lo que se muestra a continuación, ¿existen mejores formas de medir cuánto impacto total en el sistema tiene una aplicación, ya que el % de cpu de la aplicación no muestra toda la actividad secundaria que una aplicación hace que se complete en un sistema?

Fondo

Estoy tratando de medir el rendimiento de una aplicación en particular, y una de las métricas, dado que parte de la actividad de la aplicación se realiza dentro del kernel en forma de llamadas al sistema, es el % de inactividad de la CPU.

Si OS X ejecuta cosas en segundo plano que no puedo ver, o apaga las CPU o las ralentiza, obviamente afecta mis mediciones.

¿Por qué no mira la carga de los procesos en ejecución y determina qué está usando su procesador? Y por extensión, ¿por qué no compruebas eso para la aplicación en particular?
@Gerry Supongo que no lo aclaré en mi publicación: estoy teniendo en cuenta todo el uso de la CPU de todos los procesos en ejecución presentados por el monitor de actividad. No suman ni cerca del 10%, sin importar el 50-60% que el tiempo de inactividad de CUP sugiere que deberían.
Tengo que preguntar, ¿tiene seleccionado 'Todos los procesos' en AM?
@KidPub Sí, estoy viendo Todos los procesos.
Usar /Library/Application Support/HWPrefs/CPUPalette.appy deshabilitar dos núcleos me da los mismos síntomas, así que supongo que OS X está estrangulando agresivamente las CPU. Si sabe cómo deshabilitar la aceleración de la CPU o controlarla, consulte apple.stackexchange.com/questions/41045/…

Respuestas (2)

Las pruebas parecen mostrar que el culpable es la tecnología Turbo Boost de Intel , que desactiva los núcleos del procesador sobre la marcha sin avisar al sistema operativo. Dado que no están ejecutando el proceso de inactividad de la CPU, el monitor de actividad no los tiene en cuenta y parece que la máquina está inactiva por debajo del 50 % cuando la realidad es que está casi inactiva al 100 %.

Por el momento, no parece que esto se pueda deshabilitar o controlar fácilmente en OS X: ¿ Cómo puedo deshabilitar la aceleración y la desactivación de la CPU?

Turbo boost está integrado en muchos procesadores Core i7 e i5, y en algunos de los últimos procesadores Core i3. Tendrá que comparar la versión de su procesador con la lista de Intel de procesadores compatibles con Turbo Boost para averiguar si el suyo la tiene. Si no tiene puente de arena, probablemente no tenga turbo.

De forma predeterminada, el monitor de actividad muestra solo los procesos que se ejecutan en su cuenta de usuario y no las tareas del sistema, así como las tareas de otros usuarios de la máquina.

ingrese la descripción de la imagen aquí

Seleccionar otra vista desde el control de la barra de herramientas debería ayudar a saber qué está tomando tiempo de CPU en su mac. Recomiendo obtener Xcode de la tienda de aplicaciones y usar Instruments para realizar perfiles y ajustes avanzados. Es una herramienta mucho más capaz para ese trabajo una vez que haya notado que algo anda mal con el Monitor de actividad.

Estoy viendo Todos los Procesos. No muestra nada que consuma el tiempo de CPU sugerido por el % inactivo.
Guau: hay un caso extremo interesante en el que cualquier proceso que comience después de un intervalo de muestra, pero que muera antes del siguiente intervalo de muestra, no será capturado por el Monitor de actividad. Necesitará dtraceo instrumentos para llegar a procesos muertos. Por lo general, trato fs_usagede esperar que estos procesos rápidos estén accediendo a un archivo de algún tipo para averiguar qué delincuente está causando el uso de CPU real, pero fantasma a los ojos del Monitor de actividad.