El proceso kernel_task en cuestión es probablemente su proceso en marcha.
Puedes intentar liberar la "memoria inactiva" con el purga en la Terminal, sólo tienes que escribir purge
y pulse "return" cuando la memoria inactiva llegue a ser un buen porcentaje de la memoria usada.
También puede intentar ejecutar su proceso sin la guía, o sin que el servidor de la ventana se ejecute. Esto liberará memoria y recursos del procesador.
-
Configure la ventana de inicio de sesión para requerir el nombre y la contraseña desde el panel de control de cuentas en las preferencias del sistema, desactive el inicio de sesión automático si está activado.
-
Entonces reinicie para liberar la memoria.
-
desde la ventana de acceso (si está configurado como nombre de usuario/contraseña) escriba >console
...en el campo del nombre, presiona enter, y cuando el servidor de la ventana se cierra...
-
Entrar en la consola, nombre corto e introducir la contraseña cuando se le pida.
-
escriba screen
y golpeó el retorno
página del hombre de la pantalla - para que puedas tener otro término para ver con top
usará menos recursos que la dirección de la guía. control-a then c
para crear una nueva terminal, control-a then n
para moverse entre los dos scrreens
ejecutar su proceso en uno, ejecutar top -u -s5
para ejecutar una utilidad como el monitor de actividad para que puedas monitorear tu proceso
cuando termine, sólo exit
de ambas pantallas, y luego exit
de la consola para lanzar el servidor de ventanas y volver a la ventana de inicio de sesión y de nuevo a la guía
0 votos
¿Podría ampliar lo que hace exactamente ese proceso computacional? - ¿especialmente qué tipos de llamadas al sistema utiliza? - Estoy asumiendo que no tienes el problema en cada arranque, sino sólo cuando ejecutas ese programa.
0 votos
El kernel_task es probablemente su proceso. Puede intentar liberar la "memoria inactiva" con el comando purga en el Terminal, basta con escribir
purge
y pulsar return cuando la memoria inactiva llegue a ser un buen porcentaje de la memoria utilizada.0 votos
@jksoegaard el proceso lee en un archivo de ids y sus frecuencias, y construye códigos Huffman para estos ids. Pone todos los pares de ids-frecuencia en un montón y construye un árbol tirando de las cosas del montón. Puede haber decenas de millones de estos identificadores, por lo que el árbol puede ser bastante grande.
0 votos
Veo mi proceso por separado (
huffman
) y se necesitan entre 10 y 12 Gb,kernel_task
toma hasta 20Gb por encima de eso. Voy a tratar de purgar el lunes :)0 votos
@lynxoid te olvidaste de mencionar qué llamadas del sistema utiliza tu programa... intenta trazarlo para ver qué tipo de interacción del kernel ocurre... esto te llevará a descubrir por qué kernel_task ocupa tanta memoria
0 votos
Lo que resolvió el problema fue simplemente reiniciar la máquina un par de veces. No estoy seguro de por qué esto funcionó :) Ya no puedo reproducirlo, así que estoy contento.