1 votos

kernel_task apagando la red cuando la CPU no se sobrecalienta

[MacBook Pro (13 pulgadas, 2020, cuatro puertos Thunderbolt 3), Intel Core i7 de cuatro núcleos a 2,3 GHz, 16 GB de RAM, con Monterey 12.6.4].

kernel_task consume una cantidad excesiva de CPU de forma periódica (alrededor del 100 % según la línea de comandos). top utilidad. Al mismo tiempo, todas las aplicaciones que utilizan la red pierden la conexión (por ejemplo, se desconecta Zoom y cualquier otra transmisión de datos durante 30 segundos o varios minutos). En cuanto kernel_task cae del proceso CPU superior, la red se reanuda. Wi-Fi nunca se cae, sólo el tráfico de red se detiene. Esto es muy perjudicial.

Me dijeron que kernel_task hace esto para enfriar la CPU porque se está sobrecalentando. Moví el conector de alimentación a uno de los puertos del lado derecho para que funcione más frío (como se sugiere). No hubo diferencia. Reiniciando el SMC parece reducir el número de ocurrencias, pero eventualmente sucede de nuevo en una semana o dos.

Escribí algunos scripts para registrar la temperatura de la CPU, la velocidad del ventilador, la carga del sistema, y cuando kernel_task se hace cargo. Estoy recibiendo la temperatura de la CPU y la velocidad del ventilador de ejecutar " powermetrics --samplers smc " como Root.

Descubrí varias cosas interesantes:

  1. kernel_task casi nunca se hace cargo (es decir, 100%+ uso de la CPU) cuando la temperatura de la CPU es alta.
  2. kernel_task a temperaturas normales de funcionamiento.
  3. La velocidad del ventilador no varía con kernel_task asumiendo el control como si kernel_task no hace nada a la velocidad del ventilador.
  4. powermetrics una vez mostró un salto de 69C a 89C en un lapso de 5 segundos, mientras que la velocidad del ventilador aumentó menos del 1%. Tener un disipador de calor en una CPU haría esto improbable.
  5. El portátil tiene 2 años pero kernel_task no se reconoció como un problema hasta el segundo año. No recuerdo que la red se congelara en absoluto durante el primer año.

De lo anterior estoy pensando:

  1. Nos han mentido sobre lo que kernel_task realmente lo hace ya que el comportamiento (consumir más del 100% de la CPU) no parece estar directamente correlacionado con la temperatura de la CPU.
  2. kernel_task no aborda directamente el sobrecalentamiento.
  3. powermetrics puede estar mintiendo sobre las temperaturas, las velocidades del ventilador y cuándo se producen.
  4. El SMR es un desastre poco fiable.
  5. kernel_task estrangula/cierra innecesariamente la actividad de la red.

Realmente no me preocupan los problemas de temperatura. Quiero kernel_task que deje de bloquear mi conexión de red en momentos aleatorios. Hay alguna solución para esto aparte de sustituir el hardware?

3voto

Jose Chavez Puntos 645

Por la pregunta y tus comentarios, pareces muy centrado en que alguien (¿Apple?) "miente" sobre lo que kernel_task hace. Nada más lejos de la realidad. En realidad, el código fuente es de libre acceso .

El principal problema de tus argumentos parece ser que has llegado al malentendido de que kernel_task Su única función es regular la temperatura. Eso no es cierto.

Es cierto que kernel_task desempeña un papel en la regulación de un sistema cuando la refrigeración es insuficiente. Sin embargo, esto no es más que una pequeña parte de su funcionamiento.

En realidad, kernel_task no es un programa ordinario en ejecución. En este sentido, es diferente de todos los demás procesos que se ejecutan en el sistema. kernel_task es un marcador de posición para las operaciones que realiza el núcleo del sistema operativo.

El núcleo del sistema operativo hace algunas cosas de forma autónoma, como participar en la regulación de la temperatura, pero la mayoría de las operaciones del núcleo son en realidad los programas del espacio de usuario (¡tus aplicaciones!) los que le piden que realice alguna operación.

Y aquí radica la razón principal, por la que estás atascado resolviendo el problema principal. Usted parece tener la idea de que la causalidad es que kernel_task hace algo por su cuenta, consume el 100% del tiempo de CPU, y esto entonces hace que su red se caiga - por lo que debe dejar de kernel_task de "hacer esta cosa".

Lo más probable es que sea al revés. Es decir, tus programas de espacio de usuario hacen "algo" o las circunstancias de tu hardware son tales que el procesamiento de red no puede continuar, y como consecuencia el núcleo acaba "atascado" en un bucle ocupado durante periodos de tiempo más largos.

Mi consejo sería que abandonaras temporalmente la teoría de que kernel_task es el culpable y que la "temperatura" es la causa - y examinar otras posibilidades:

La causa podría estar en su hardware. Intenta desconectar todos los dispositivos periféricos y prueba a ver si así se soluciona el problema. Si tienes acceso a un ordenador similar, intenta duplicar tu software actual en ese Mac y comprueba si también falla.

La causa podría estar en tu configuración y/o datos. Prueba a crear una nueva cuenta de usuario e inicia sesión sólo con ella para ver si desaparecen los problemas.

La causa podría estar en su software (errores). Intenta arrancar en modo Recovery para iniciar una versión diferente de todo, y ver si el problema desaparece. Usted puede tratar de actualizar a 12.6.8 o incluso Ventura para ver si eso es una solución.

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