TLDR; Si tu MacBook Pro se calienta o muestra un alto % de CPU para la tarea del kernel, intenta cargar en el lado derecho y no en el izquierdo.
El alto uso de CPU de kernel_task
se debe a una alta temperatura del chasis causada por la carga. En particular el uso del puerto izquierdo de Thunderbolt.
Las soluciones incluyen:
- Mover la carga del lado izquierdo al derecho. Si tienes un segundo cargador, conéctalo en el lado derecho. Evita enchufar todo en el lado derecho (ver último párrafo abajo).
- Desconectar algo del lado izquierdo. Ya sea el cargador o algún otro accesorio hasta que la batería esté llena.
- Forzar los ventiladores al máximo antes de enchufar. iStatMenus tiene un menú fácil Sensores -> Ventiladores para hacerlo. Esto solo ayuda en condiciones marginales.
- Mudarse a una habitación más fresca.
- Si estás usando tanto la pantalla del portátil como una pantalla externa intenta cambiar a solo una de ellas (yo cambié a solo externa, con la tapa del portátil cerrada). Algunos MBP (por ejemplo, modelos touchbar de 15" Intel) tienen una peculiaridad de diseño donde esta configuración puede hacer que se caliente más de lo que debería.
Prueba:
La temperatura real de la CPU o el uso de CPU de la aplicación no están correlacionados con kernel_task
. Una CPU caliente es limitada reduciendo su velocidad de reloj, no programando una carga falsa.
Los gráficos a continuación son de iStatMenus. La máquina había estado en uso con la batería y luego enchufada.
Estado A tiene un hub USB-C (un ratón y teclado, más energía) y un adaptador HDMI 2.0 USB-C, ambos en el lado izquierdo. Se puede ver cómo el sensor de temperatura Proximidad Izquierda de Thunderbolt se eleva rápidamente. Alrededor de 3-4 minutos más tarde comienza el temido alto uso de CPU de kernel_task
.
Estado B soluciona el problema de kernel_task
al mover la energía de los puertos izquierdos a los derechos. La temperatura del lado izquierdo baja y kernel_task
desaparece en unos 15 segundos.
Esto es causal. Al devolver la energía al lado izquierdo, restaurando el Estado A, rápidamente se restauran las temperaturas y kernel_task
vuelve a aparecer después de 3-4 minutos. Nuevamente, moviendo la energía de vuelta al lado derecho, restaurando el Estado B, se resuelve el problema inmediatamente.
Estado C muestra que simplemente tener cosas enchufadas en los puertos de TB eleva significativamente su temperatura. Tanto el hub (solo ratón y teclado) como el adaptador HDMI individualmente elevan la temperatura unos 10 grados, y 15 grados juntos.
(todas las demás temperaturas eran bajas y estables. Por debajo de 55 grados).
Nota que la alta temperatura en el lado derecho parece ser ignorada por el sistema operativo. Enchufar todo en los dos puertos derechos en lugar de en los izquierdos elevó las temperaturas del lado derecho a más de 100 grados, sin que los ventiladores se encendieran. Tampoco aparece kernel_task
, pero la máquina se vuelve inutilizable debido a que algo limita el rendimiento.
Por lo tanto, el alto uso de CPU por kernel_task
es causado por una alta temperatura en la Proximidad Izquierda de Thunderbolt, que es causada por la carga y tener periféricos normales enchufados al mismo tiempo.
Macbook Pro 15" de 2017, MacOS 10.14.5
Para responder realmente la pregunta:
¿Cómo puedo averiguar qué está haciendo este proceso?
La única forma de preguntar realmente al kernel qué está haciendo es adjuntar un depurador de kernel. Eso significa obtener un kernel de depuración de Apple, reiniciar, y luego utilizar una segunda Mac para adjuntarse a la máquina depurada. Luego puedes examinar las trazas de pila y adivinar lo que significan.
De lo contrario, la suposición y la prueba son la única manera. Por supuesto, esto conduce a conclusiones falsas más a menudo que no.
0 votos
Woah, esto se acaba de volver mucho más interesante. ¿Hay alguna posibilidad de que podamos actualizar ambas instantáneas una segunda vez - misma CPU procesada por todo el proceso y la medida detallada de la energía?
8 votos
@bmike Logré tanto reproducir el problema como solucionarlo a voluntad. Los gráficos de iStatMenus confirman que, en mi caso, la causa es la alta temperatura del chasis debido a la carga y los periféricos conectados a los puertos TB izquierdos.
3 votos
Sí - ese sensor de temperatura sí tiene la capacidad de causar esto precisamente. Gracias por la edición - eso ayuda aclarar en gran medida la situación para el registro.
0 votos
Si mal no recuerdo, me dijeron que el puerto izquierdo tirará más corriente para cargar y que podría dañar la computadora portátil si se carga desde el lado derecho.
0 votos
Veo que tienes Docker en funcionamiento. Me pregunto si tienes algún tipo de sondeo en marcha que esté causando el alto uso de CPU. Por ejemplo, tuve que desactivar el observador de desarrollo de Django para que mi uso de CPU volviera a la normalidad (github.com/docker/for-mac/issues/1759#issuecomment-332754641).
4 votos
Solo para referencia (no hay ninguna solución o solución alternativa),
kernel_task
(PID 0) es el kernel (es decir, el corazón del SO) en sí mismo y el primer proceso después del proceso de arranque de macOS/iOS/tvOS/watchOS. Varias características fundamentales se realizan en el kernel, el control de temperatura es una de ellas, y parece que es precisamente eso lo que está comportándose mal. Este proceso obviamente no se puede detener sin apagar todo el sistema, por lo que es especialmente malo cuando algo en él se comporta mal. Apple menciona su característica de control de temperatura aquí: support.apple.com/en-us/HT2073591 votos
@BlakePetersen También caí en esa pista falsa al principio. El problema no tiene relación con si Docker está en ejecución, y francamente cualquier otro software que pudiera cerrar.
2 votos
@ConstantinoTsarouhas ese enlace de Apple es claramente incorrecto. Los gráficos de abajo muestran claramente un
kernel_task
con temperaturas de CPU muy bajas. La alta temperatura de la CPU se soluciona reduciendo la velocidad del CPU, no conkernel_task
.1 votos
Adam tiene toda la razón: el papel general del kernel es proteger contra que se exceda Tjunction de 100C, pero eso no está en juego aquí. Podría ser que la base de código esté comportándose mal o que la tasa de cambio esté desencadenando esto, no la temperatura absoluta. Esto deberá reproducirse en un entorno de laboratorio, pero la evidencia empírica de Adam es abrumadora en cuanto a que está relacionado con la gestión de energía en su Mac. Tampoco he visto a nadie reproducir esto; sería bueno tener una segunda respuesta documentando qué modelo, qué accesorios pueden reproducir lo que informa Adam en mi opinión. Intentamos reproducir esto y fracasamos.
1 votos
Extrañamente pensé que esto era lo normal. Tengo una funda inferior que suelo llevar puesta. Me la quité y aparentemente se cayó. ¡Extraño - pero gracias!
0 votos
Si tienes un monitor externo, simplemente desconecta el monitor. Esa fue la principal causa para mí. El proceso
kernel_task
estaba utilizando 925% de la CPU y bajó casi instantáneamente a 4.5%. He visto en algunos sitios web que hay un error malicioso relacionado con la conexión a dispositivos externos, y ha estado allí durante un tiempo.1 votos
La temperatura en verano alcanza los 40 grados Celsius en mi lugar, este era un problema que enfrentaba cada vez que conectaba un monitor externo. Lo solucioné encendiendo el aire acondicionado de la habitación. Puedo trabajar sin él, pero mi MBP no puede funcionar sin el aire acondicionado.
1 votos
Esto me pasó hoy y me di cuenta de que los ventiladores no estaban funcionando. Instalé Mac Fans Control, lo configuré al máximo y ¡boom... el kernel_task cayó a 0!
3 votos
No se puede agregar una respuesta, así que simplemente comentaré, probé todas las soluciones en la web, cambiando los lados de la fuente de alimentación y los monitores, usando un dock, apagando True Tone, la aceleración de hardware, básicamente no podía usar mi MacBook Pro de 2019 cuando estaba conectado a un monitor externo, las únicas 2 cosas que me funcionaron fueron: 1) usar el MacBook en modo clamshell, pero pierdes la cámara, micrófono, huella dactilar, trackpad, etc..., 2) Y NO PUEDO ESTRESAR ESTO LO SUFICIENTE, ¡LIMPIA TUS VENTILADORES! (por un profesional o si sabes lo que estás haciendo) luego restablece el SMC, mira mis fotos antes y después aquí, i.imgur.com/ChgoGlj.jpg
2 votos
Estaba teniendo el mismo problema durante años antes de resolverlo. Ya estoy siguiendo todo lo que dijo Adam, y funciona bien para mi 2015 MBPr y 2019 MBPr. Esta publicación me dio más información. El problema de @Zaraki es el mismo que el mío. Así es como todo comenzó. Siempre que conectaba mi Macbook a mi TV, esto sucedía y me frustraba, cambiaba la pasta térmica, etc., nada funcionaba al final del día, hasta que descubrí que funcionaba como una bestia dentro de una habitación con aire acondicionado.