6 votos

Aceptable el uso de la CPU de 4 núcleos a 3,4 gHz i7

La creación de un quiosco de aplicación para el Mac y estoy de pruebas de rendimiento y uso de CPU. El monitor de actividad muestra un total de aproximadamente de 90 a 150% de uso de CPU para siempre, quiosco de procesos.

Mi primera confusión es cómo el uso de la CPU puede ser más de 100%, pero entiendo que esto está relacionado con el número de núcleos.

Así que mi pregunta es, es de 150% del uso total de la CPU aceptable para un quiosco basado en mac con funcionamiento constante 24-7 aplicaciones? O es que es demasiado alto?

apéndice> la aplicación de procesamiento de vídeo constantemente, el único 'interacción' es la fuente de vídeo procedente de una cámara web.

6voto

Steve Evans Puntos 155

El cero es Ideal

Idealmente, el quiosco de la aplicación debe utilizar el 0% de CPU cuando no los estén utilizando. Es poco probable que usted va a lograr esto sin un esfuerzo considerable, pero incluso un objetivo de 5 – 10% de uso es buena.

En el 150% constante uso de la CPU, la aplicación probablemente sería considerado defectuoso por parte de Apple, la Mac App Store revisores – y por muchos clientes.

Sugerencias: Descarga a la Derecha del Marco

Si tu quiosco de la aplicación es la animación o mostrar contenido móvil, tales como anuncios o películas, hacer tanto como usted puede con AVFoundation/QuickTime. Este será típicamente de descargar el procesamiento de la GPU y permitir que la CPU idle.

Para otras animaciones asegúrese de adoptar CoreGraphics y CoreAnimation. Se mejorará dramáticamente la aplicación de la energía de impacto.

Eficiencia energética Guía para Mac Apps

Estudio de Apple de Eficiencia Energética Guía para Mac Apps. La introducción expone de Apple intenciones:

Su Obligación como Desarrollador

Incluso las pequeñas ineficiencias en aplicaciones que añaden para arriba a través del sistema, afectando significativamente la vida de la batería, el rendimiento, la velocidad y la temperatura. Como un desarrollador de la aplicación, usted tiene la obligación de asegurarse de que su aplicación se ejecuta de forma tan eficiente como sea posible. Uso recomendado Api para que el sistema pueda tomar decisiones inteligentes acerca de cómo manejar mejor su aplicación y los recursos que utiliza. Siempre que sea posible, evitando el uso innecesario de las actualizaciones de la interfaz de usuario y de I/O. de consumo intensivo de operaciones, debe estar bajo el control del usuario. Si un usuario inicia una gran iMovie render, Automator trabajo por lotes, Compresor de conversión, o Xcode compilar, por ejemplo, el usuario no debería sorprendernos si la actividad que consume energía. Se esfuerzan para hacer que tu aplicación absolutamente inactivo cuando no responde a la entrada del usuario.

Utilizar las herramientas de desarrollo de perfil de la aplicación de la energía de impacto y pide lejos de Stack Overflow maneras de reducir la carga de la CPU. Buena suerte!

1voto

Tetsujin Puntos 23061

150% del total de la CPU, por supuesto, no sólo ser totalmente inaceptable, pero físicamente imposible.
Sé que la mayoría de los deportistas parecen pensar que pueden dar al menos el 110% cada vez son entrevistados, pero nadie señaló el simple hechos para ellos, supongo ;-)

Monitor de actividad muestra individual de las aplicaciones de uso de CPU por núcleo [incluyendo núcleos virtuales], por lo que el 150% es en realidad (para un i7, con 4 núcleos + hyperthreading) 150 / 8 = 18.75% del total de la capacidad de la máquina.

El Sistema de + Usuario total de debajo de las cifras individuales es una representación más exacta de la general, el uso de la máquina y una rápida tot de las cifras que da una idea aproximada de que este es en realidad el verdadero estado de las cosas.

enter image description here

Tomando esto como un ejemplo, la visible porcentajes ascienden a cerca de 120, sin embargo, el Sistema + de Usuario de la figura es sólo un 5,3%
Tengo 24 núcleos virtuales [2 x 6-core Cpu + hyperthreading] para 120 / 24 = 5 [lo suficientemente cerca para dar cuenta de los procesos más abajo en la lista]

En un 18,75% del total de la máquina de la capacidad, yo no veo que sea vale la pena el esfuerzo para optimizar - a menos que otro proceso de las necesidades de cualquier porción significativa de la capacidad restante.

0voto

Oskar Puntos 1242

A menos que usted tiene un problema, no prematuramente optimizar sería mi consejo. El hardware se ejecuta al 100% de uso (o el 800% de un solo hilo en el hardware del caso) sin causar ningún efecto y, a menos que usted tiene el bloqueo de los efectos de animaciones y quiosco de las funciones puede que no se degrada cuando la CPU está totalmente ocupado 24/7.

Si hay fruta que cuelga baja para reducir la CPU, ir a por ello, pero el i7 tiene 4 núcleos físicos y calcula la carga de la CPU en contra de 8 núcleos virtuales. El hardware va a 800% ideal y está sólo a 150% en la actualidad? Parece que las especificaciones de hardware son más que una exageración para un solo uso quiosco de la situación. Si usted ha elegido un stack de tecnología y estamos contentos con el contenido de la kiosco en términos de animación, la capacidad para realizar la tarea en "contratar" a hacer - yo no me preocuparía por algunos como una imposición externa "mejor práctica" incluso si es de Apple pautas para ser un eficiente coder (que son EXCELENTES por cierto).

En cualquier sistema, usted puede ser que desee planificar para no exceder el 80% de utilización si no se puede de referencia, medir, reaccionar y corregir ráfaga de usos. Esta es una guía, y por supuesto, cuando usted puede hacer mejor, usted debe.

Voy a asumir que usted realmente tiene herramientas de acceso remoto, en lugar de empujar las actualizaciones y puede medir la CPU a través del tiempo y reaccionar, pero quiosco de la interactividad parece baja en el "perdemos dinero" cuando el sistema de los gal.

  • ¿Cuánto tiempo un usuario interactuar con el quiosco?
  • Es dinero que se ha ganado o perdido y a qué ritmo se estima que?
  • Lo que sucede en el sistema cuando se convierte en la CPU (debido a procesos de fondo o cambio en la aplicación)?

La "mejor práctica" en realidad es un punto de partida para evaluar las cosas. No hay ninguna razón para no dejar un equipo que ejecuta una utilización del 100% si el hilo principal no está bloqueado y el sistema como un todo se degrada con gracia.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X