Uso de CPU aceptable para 4 núcleos 3.4gHz i7

Crear una aplicación de kiosco para Mac y estoy probando el performance y el uso de la CPU. El monitor de actividad muestra un total de aproximadamente 90 a 150% de uso de CPU para los processs de quiosco siempre activos.

Mi primera confusión es que el uso de la CPU puede ser superior al 100%, pero entiendo que está relacionado con la cantidad de núcleos.

  • ¿Hay un atajo de keyboard para iniciar Activity Monitor?
  • iTunes ahora ocupa el 100% de la CPU desde la actualización a 11.3
  • ¿Cómo controlar el acceso a files para una aplicación OS X?
  • CPU Die temperaturas alcanza los 90 ° C, ¿es eso normal?
  • Averiguar qué aplicación está usando Java
  • DuetHeuristic-BM y nsurlsessiond acaparando CPU y memory en MacBook Air
  • Entonces, mi pregunta es: ¿es aceptable el uso total de la CPU del 150% para una Mac basada en quiosco que ejecuta constantemente aplicaciones 24 horas al día, 7 días a la semana? ¿O es eso demasiado alto?

    adición> la aplicación está procesando video constantemente, la única 'interacción' es la transmisión de video proveniente de una camera web.

  • MacVim: cambie a la pestaña donde se abre el file si intenta abrir un file ya abierto
  • AppleScript: presione Enter cada X minutos si el terminal está abierto y la aplicación ha estado inactiva durante X minutos
  • ¿Por qué mi window de Terminal se cierra automáticamente?
  • ¿Cómo puedo encriptar mi carpeta de inicio?
  • routined quiere usar la alerta de llavero "Elementos locales"
  • ¿Cómo sincronizar los recordatorios de OS X con Android?
  • 3 Solutions collect form web for “Uso de CPU aceptable para 4 núcleos 3.4gHz i7”

    Cero es ideal

    Idealmente, su aplicación de kiosco debería usar 0% de CPU cuando no se usa activamente . Es poco probable que logre esto sin un esfuerzo considerable, pero incluso un objective del 5 al 10% de uso es bueno.

    Con un uso de CPU constante del 150%, la aplicación probablemente sea considerada incorrecta por los revisores de Apple App Store y por muchos clientes.

    Sugerencias: descargue al marco correcto

    Si su aplicación de kiosco está animando o mostrando contenido en movimiento, como anuncios o películas, haga todo lo que pueda con AVFoundation / QuickTime. Normalmente, esto downloadá el procesamiento a la GPU y permitirá que la CPU permanezca inactiva.

    Para otras animaciones, asegúrese de adoptar CoreGraphics y CoreAnimation. Mejorarán drásticamente el impacto de la energía de su aplicación.

    Guía de eficiencia energética para aplicaciones Mac

    Estudie la Guía de Eficiencia Energética de Apple para Aplicaciones Mac . La introducción establece las intenciones de Apple:

    Su obligación como desarrollador

    Incluso pequeñas ineficiencias en las aplicaciones se acumulan en todo el sistema, lo que afecta significativamente la duración de la batería, el performance, la capacidad de respuesta y la temperatura. Como desarrollador de aplicaciones, tiene la obligación de asegurarse de que su aplicación se ejecute de la manera más eficiente posible. Use las API recomendadas para que el sistema pueda tomar decisiones inteligentes sobre la mejor manera de administrar su aplicación y los resources que utiliza. Siempre que sea posible, evite actualizaciones innecesarias a la interfaz de usuario y E / S. Las operaciones intensivas en energía deben estar bajo el control del usuario. Si un usuario inicia un gran renderizado de iMovie, trabajo por lotes de Automator, conversión de compresor o compilation de Xcode, por ejemplo, el usuario no debería sorprenderse si la actividad consume energía. Esfuércese por hacer que su aplicación esté absolutamente inactiva cuando no responda a la input del usuario.

    Use las herramientas de desarrollador para perfilar el impacto de la energía de su aplicación y pregunte sobre el Desbordamiento de stack para ver las forms de networkingucir la carga de la CPU. ¡Buena suerte!

    El 150% de la CPU total, por supuesto, no solo sería totalmente inaceptable, sino físicamente imposible.
    Sé que la mayoría de los deportistas parecen pensar que pueden dar al less un 110% cada vez que son entrevistados, pero nadie les señaló los hechos simples, supongo 😉

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

    El total de System + User debajo de las figuras individuales es una representación más precisa del uso general de la máquina y un resumen rápido de las cifras le da una idea aproximada de que este es, de hecho, el verdadero estado de las cosas.

    enter image description here

    Tomando esto como ejemplo, los porcentajes visibles sumn alnetworkingedor de 120, sin embargo, la figura del Sistema + Usuario es solo del 5.3%
    Tengo 24 núcleos virtuales [2 x 6 núcleos de CPU + hyperthreading] por lo que 120/24 = 5 [lo suficientemente cerca como para dar count de los processs más abajo en la list]

    Al 18.75% de la capacidad total de la máquina, no veo que valga la pena el esfuerzo de optimizarla, a less que otro process necesite una porción significativa de la capacidad restante.

    A less que tenga un problema, no optimizarlo prematuramente sería mi consejo. El hardware funcionará al 100% de uso (o al 800% de un solo hilo en el caso de su hardware) sin efectos negativos y, a less que tenga efectos de locking, sus animaciones y funciones de kiosco podrían incluso no degradarse cuando la CPU esté totalmente ocupada 24/7 .

    Si hay poca fruta colgando para networkingucir la CPU, adelante, pero el i7 tiene 4 núcleos físicos y calcula la carga de la CPU contra 8 núcleos virtuales. ¿Su hardware va al 800% idealmente y usted solo está al 150% actualmente? Parece que las especificaciones para el hardware son más que exageradas para una situación de kiosco de un solo uso. Si ha elegido una stack de tecnología y está contento con los contenidos del kiosco en términos de animation, capacidad para realizar la tarea que está "contratando", no me preocuparía por alguna "mejor práctica" impuesta desde el exterior, incluso si las pautas de Apple para ser un codificador eficiente (que son EXCELENTES por cierto).

    En cualquier sistema, es posible que desee planificar no exceder el 80% de utilización si no puede comparar, medir, reactjsr y corregir los usos de ráfaga. Esta es una guía, y por supuesto, cuando puedes hacerlo mejor, deberías.

    Asumiré que en realidad tiene herramientas de acceso remoto para enviar actualizaciones y puede medir la CPU a lo largo del time y reactjsr, pero la interactividad del kiosco parece baja en "perdemos dinero" cuando el sistema se demora.

    • ¿Cuánto time un usuario interactúa con el quiosco?
    • ¿Se está generando o perdiendo dinero y a qué velocidad se estima?
    • ¿Qué le sucede al sistema cuando se convierte en CPU (debido a processs en segundo plano o cambios en la aplicación)?

    Cualquier "mejor práctica" realmente es un punto de partida para que pueda evaluar las cosas. No hay razón para no dejar que una computadora funcione al 100% si el hilo principal no está bloqueado y el sistema en su set se degrada graciosamente.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).