¿Qué hace exactamente kernel_task?

28

Me gustaría saber de qué es responsable kernel_task. Además, ¿cuál es el uso máximo de RAM y CPU aceptable para ello?

    
pregunta Timothy Mueller-Harder 18.01.2012 - 01:03

3 respuestas

27

La tarea del kernel es especial ya que es una sistema operativo completo / micro kernel basado en Mach 3.0 . Extrae la mayor parte del hardware central, la sincronización, el paso de mensajes y el manejo de la memoria.

Lo que la mayoría de las personas notan en el Monitor de actividad es que kernel_task acumula todo el tiempo de CPU para los retrasos y cálculos de procesamiento de entrada / salida (i / o), así como la sobrecarga de programación de procesos y subprocesos. Del mismo modo, acumula todas las asignaciones de memoria que no están en el espacio del usuario. En las Macs 2014 y posteriores, esta tarea existe para acelerar la CPU: cuando las temperaturas en el procesador son demasiado altas, la tarea del kernel se asigna como "no funciona" y muestra una CPU alta ocupada para dejar el procesador inactivo y no sobrecalentar la computadora. Esto es más notable en la línea portátil, especialmente en el MacBook sin ningún tipo de ventilador o ventilador para enfriar el procesador. Apple advierte de esto a los programadores potenciales del kernel en " Por qué debería mantenerse alejado de la programación en el Kernel " que deshabilitar el enfriamiento causará daños permanentes irreparables en el hardware.

  

Para resumir, la programación del kernel es una responsabilidad inmensa. Debe ser excepcionalmente cuidadoso para asegurarse de que su código no haga que el sistema se bloquee, no proporcione ningún acceso de usuarios no autorizados a los archivos o la memoria de otra persona, no presente ataques locales o remotos, y no cause pérdida o daño inadvertido de datos .

Si lo ves después de un reinicio, verás que comienza con las necesidades mínimas de RAM y CPU y, en cambio, crece solo cuando otros programas se ejecutan y necesitan los servicios del sistema.

Para reducir el tamaño, cierre los puertos innecesarios (WiFi, bluetooth, etc.), así como los programas inactivos / no utilizados. Si las cosas no se calman, considere reiniciar para asegurarse de que no haya ninguna tarea atascada o que pierda memoria. Si tiene programas que realizan un trabajo real, harán que el kernel use la memoria y el tiempo del procesador; simplemente observe cómo comienza a ver qué otros programas están causando este comportamiento. Rara vez es un problema con el kernel, incluso con programas de mal rendimiento, que no se pueden resolver cerrando la sesión y volviendo a iniciarla. El kernel_task se limpia bien y generalmente se ocupa de usar solo los recursos que necesita la carga de trabajo.

    
respondido por el bmike 18.01.2012 - 01:46
13

Partes internas de Mac OS X: un enfoque de sistemas - Amit Singh - Google Books :

  

el núcleo utiliza la tarea y las abstracciones de hilos para dividir su funcionalidad en varios flujos de ejecución. El kernel utiliza una sola tarea, la tarea del kernel , con múltiples subprocesos que realizan operaciones del kernel, como la programación, el corte de subprocesos, la gestión de llamadas, la paginación y el manejo de excepciones de Unix. Por lo tanto, xnu es un núcleo monolítico que contiene componentes marcadamente diferentes, como Mach, BSD y el Kit de E / S, todos ejecutándose como grupos de subprocesos en una sola tarea en el mismo espacio de direcciones.

enlace :

  

La tarea del kernel no es una tarea real. Representa el núcleo, que es   El núcleo del sistema operativo. La mayor parte de lo que hace ocurre en el   Solicitud directa de una solicitud. Cada vez que asignas un bloque grande   de memoria, abra o cierre un archivo, lea o escriba un archivo, extraiga los datos sobre la   red, cree un nuevo proceso o subproceso, etc., su aplicación realiza una   llamada al sistema. Estas llamadas hacen que el kernel trabaje para tu   solicitud. Gran parte de ese trabajo se factura a la tarea del kernel, pero   Su aplicación realmente lo está haciendo, aunque sea de manera indirecta.

    
respondido por el user495470 30.05.2013 - 07:48
1

Una razón práctica por la cual el kernel podría estar trabajando demasiado es que su sistema se ha quedado sin memoria y se está dañando. Verifique el gráfico de presión de la memoria en la pestaña Memoria de Monitor de actividad para ver si es amarillo o rojo.

En este caso, puede ordenar los procesos por Memoria y terminar algunos que consumen mucho, para reducir la presión. (por ejemplo, elimine algunos procesos de Google Chrome Helper)

    
respondido por el Nicolas Kokkalis 24.03.2018 - 15:35

Lea otras preguntas en las etiquetas