41 votos

¿Por qué kernel_task está utilizando tanto la CPU?

Tengo un Macbook Pro Retina con el siguiente hardware:

Nombre del modelo: MacBook Pro
Identificador del modelo: MacBookPro11,1
Nombre del procesador: Intel Core i5
Velocidad del procesador: 2.4 GHz
Número de procesadores: 1
Número total de núcleos: 2
Caché L2 (por núcleo): 256 KB
Caché L3: 3 MB
Memoria: 8 GB
Versión del Boot ROM: MBP111.0138.B15

Recientemente actualicé a OS X El Capitan; me ha ocurrido el mismo problema dos veces y me está preocupando un poco.

Aleatoriamente tengo picos de uso de CPU desde kernel_task, el más alto que he visto fue del 660% de la CPU. Esto es sinceramente una configuración inaceptable e inusual para mi CPU (normalmente tengo un uso total de alrededor del 2-3%). Lo más alto que he capturado es esto:

introducir descripción de la imagen aquí

La primera vez, no registré lo que tenía abierto. La siguiente vez, sin embargo, estaba preparado, y esta es la lista exacta de lo que tenía abierto:

  • Dos páginas de vídeos de YouTube (usando los procesos de Safari Networking con un máximo de alrededor del 44% de la CPU, típicamente estabilizado en 8-10% y https://www.youtube.com, que llegó a alrededor del 51% de la CPU máximo, típicamente alrededor del 10-12%)
  • Messenger. Dudoso que esto haya tenido algún efecto, pero, nunca se sabe.
  • Skype. Este tipo estaba corriendo a un uso consistente de la CPU del 50%.

Vale la pena señalar que tuve que cerrar ambas ventanas de YouTube para realmente obtener suficiente control sobre mi computadora para abrir el Monitor de Actividad. Ninguno de los procesos mencionados anteriormente estaba aumentando, solo kernel_task.

También vale la pena señalar mis ventiladores: los ventiladores estaban al máximo, soplando aire frío. A pesar de que kernel_task estaba funcionando al 660% de la CPU, no se estaba produciendo calor real, por lo que podía ver.

Es en este punto donde apago forzosamente la computadora: tenía alrededor de .5 fotogramas por segundo (1 fotograma cada 2 segundos, estaba mirando el reloj) y no iba a ninguna parte cuando se trataba de intentar arreglarlo.

Si hay un error relacionado con esto que he pasado por alto, o algo extraño con OS X en general que estoy pasando por alto, por favor avíseme, ya que esto es extremadamente frustrante y más que un poco perturbador.

35voto

Oskar Puntos 1242

Tienes síntomas clásicos de que problemas térmicos están haciendo que la tarea del kernel use CPU preventivamente para evitar el sobrecalentamiento. Si no has restablecido el SMC, intenta hacerlo una vez. Si el Controlador de Gestión del Sistema está realmente atascado, la respuesta al cambio de las mediciones térmicas podría retrasarse o hacer que los ventiladores funcionen a una velocidad más alta de la necesaria.

Las respuestas anteriores apuntan a cosas que puedes hacer para medir el intercambio, los procesos, etc., pero se centran en los sensores térmicos (un problema de hardware) o la temperatura externa (del ambiente), que puedes enfriar artificialmente para eliminar la ralentización diseñada para gestionar el calor.

Si no puedes medir con precisión la temperatura de la carcasa con un termómetro infrarrojo, intenta utilizar software como https://bjango.com/mac/istatmenus/ para comprobar los sensores de temperatura individuales y correlacionarlos con los "picos en el uso de la CPU" por parte de kernel_task. Además, restablecer el SMC una vez podría valer la pena. Si está atascado, la respuesta al cambio de las mediciones térmicas podría retrasarse o hacer que los ventiladores funcionen a una velocidad más alta de la necesaria.

0 votos

Eso no parece ser el problema, sin embargo - los ventiladores estaban soplando aire perfectamente fresco por las rejillas. Además, al probar con un arranque externo de Ubuntu 15.04, no hubo picos en el uso del ventilador o en las lecturas térmicas. ¿Estás sugiriendo que a) los termómetros están calculando mal o que b) hay una falla en la respuesta del ventilador? ¿O algo completamente distinto?

0 votos

@VTCAKAVSMoACE Sí, el aire frío refuerza mi opinión de que los sensores están defectuosos. Es posible que el SMC esté desconfigurado, así que intenta restablecerlo una vez.

0 votos

He restablecido el SMC y lo he verificado (el LED cambió, así que definitivamente sucedió). Si kernel_task vuelve a descontrolarse en los próximos dos días, te avisaré. De lo contrario, marcaré esto como la respuesta.

5voto

Adam Puntos 154

Una temperatura alta en una parte del chasis debido a la carga junto con periféricos conectados puede causar este problema, al menos en una MBP de 2017. Simplemente mover el cable de carga de los puertos izquierdos a los derechos puede ser suficiente para enfriar el punto caliente y resolver el problema. En una máquina con carga MagSafe, intenta desconectar los periféricos de los puertos izquierdos hasta que la batería esté llena.

El uso de la CPU no tiene nada que ver con esto, ya que una CPU caliente se limita reduciendo su velocidad de reloj, no programando carga inactiva.

Ver https://apple.stackexchange.com/a/363933/27135 para más información.

3voto

Fox5150 Puntos 131

Echa un vistazo a los ventiladores ! Para mi Macbook Pro (2015) no fue un problema de software. La Mac estaba completamente inutilizable. Abrí el Macbook, limpié los ventiladores con un cepillo de dientes. También limpié el disipador de calor. Después de quitar el disipador de calor, descubrí que la pasta térmica estaba seca. Limpié la pasta térmica vieja y puse un poco de pasta nueva, con cuidado. Resultado: no más problemas con kernel_task. Los ventiladores pasaron de una velocidad constante de 6000 RPM a 2000 RPM (silencio total).

3voto

locobastos Puntos 18

Tengo el mismo problema con mi Macbook Pro de 2018, con especificaciones máximas: ¡Creo que las MacBooks de mayor potencia son demasiado delgadas físicamente para poder mantenerse frescas cuando se utiliza mucho la CPU!

Para mantener la temperatura baja, cuando los núcleos se calientan demasiado, kernel_task comienza a bloquear otros procesos tomando mucho tiempo inactivo, para reducir la carga en la CPU y bajar la temperatura.

Esto ha sido confirmado por el código fuente de MacOS: en https://opensource.apple.com/source/xnu/xnu-4570.71.2/osfmk/kern/thread.h.auto.html, puedes ver la línea:

#define TH_OPT_GLOBAL_FORCED_IDLE   0x0100  /* Thread performs forced idle for thermal control */`.

Una solución, aparte de no utilizar la CPU demasiado tiempo, por ejemplo con demasiadas pestañas del navegador (algo de lo que soy culpable casi a diario), es intentar mantener la máquina fresca, por ejemplo, con una base de refrigeración para un MacBook, y he encontrado que Macs Fan Control (gratis) es bastante efectivo para mantener mi MacBook fresco al hacer funcionar los ventiladores a una velocidad más alta de lo normal, incluida la opción de hacer funcionar los ventiladores al máximo.

En general, creo que se trata de un fallo de diseño: las MacBooks recientes son demasiado delgadas y tienen una ventilación deficiente, y no pueden soportar ser utilizadas de manera intensiva durante períodos prolongados de tiempo. El comportamiento de kernel_task está diseñado para evitar que la computadora portátil se sobrecaliente, pero a expensas del rendimiento que la hizo tan caliente en primer lugar. Lamentablemente, aparte de comprar una nueva máquina (¡quizás no una MacBook la próxima vez!), lo único que podemos hacer es intentar no utilizarla demasiado intensamente y mantenerla fresca.

1 votos

2voto

jkdev Puntos 121

Mi experiencia respalda la teoría de que el uso excesivo de la CPU provoca que kernel_task funcione a niveles altos. En mi caso, a menudo ocurre cuando tengo demasiadas ventanas del navegador abiertas o videos de YouTube reproduciéndose.

Cerrar ventanas o aplicaciones generalmente resuelve el problema.

Otras formas de enfriar las cosas:

  • Mayor velocidad del ventilador. Uso Macs Fan Control de CrystalIdea para aumentar manualmente la velocidad básica de mi ventilador a 2500 rpm constante, o 3000 rpm si es necesario.

  • Usar una almohadilla de enfriamiento para tu portátil.

  • ¡Aire acondicionado! La temperatura exterior también afecta la temperatura de la computadora.

EDICIÓN: Anteriormente dije "sobrecalentamiento" en lugar de "uso excesivo de la CPU". Es más preciso decir "sobrecalentamiento previsto basado en la CPU actual y la velocidad del ventilador", ya que el sistema de control de temperatura de Mac también tiene en cuenta esos factores.

1 votos

Mi computadora no estaba caliente cuando kernel_task estaba utilizando porcentajes masivos de la CPU, como se mencionó en la pregunta. :P De hecho, estaba soplando aire frío.

0 votos

El sistema de control de temperatura en Macs también tiene en cuenta el sobrecalentamiento predicho, basado en el uso actual de la CPU. Lanza ataques preventivos, por así decirlo.

0 votos

Editaré mi respuesta para cambiar "sobrecalentamiento" por "uso excesivo de la CPU".

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