Estaba usando mi MBP (con 16 GB de RAM) como de costumbre y de repente tengo esta ventana emergente que:
Su sistema se ha quedado sin memoria de la aplicación.
Para evitar problemas con su computadora, cierre todas las aplicaciones que no esté utilizando.
Obviamente he cerrado algunos que pude, pero no sirvió de nada.
Después de verificar la memoria, parece que la tarea del núcleo se comió 7GB y se utilizó una memoria de intercambio de 22.36GB de un total de 23GB (que obviamente fue el caso). Sin embargo, todavía tengo 20 GB de espacio libre en mi SDD.
El Monitor de actividad no ayudó mucho mientras mi OS X se dirigía a la destrucción.
Mis top
estadísticas antes de que mi núcleo se congele:
Processes: 344 total, 2 running, 5 stuck, 337 sleeping, 2580 threads 19:23:56
Load Avg: 1.56, 1.62, 2.09 CPU usage: 3.51% user, 8.47% sys, 88.1% idle SharedLibs: 46M resident, 0B data, 6572K linkedit. MemRegions: 757970 total, 2139M resident, 56M private, 907M shared.
PhysMem: 9410M used (6198M wired), 556M unused. VM: 1155G vsize, 1311M framework vsize, 112872658(320) swapins, 122668389(0) swapouts. Networks: packets: 299419263/363G in, 142126838/14G out.
Disks: 58970173/1079G read, 20012389/1120G written.
Al final, mi OS X se congeló y tuve que hacer un restablecimiento completo, reparar mi SDD en modo de recuperación y repararlo después (recuperar el trabajo perdido, solucionar conflictos de aplicaciones, verificar mi carpeta perdida + encontrada, las pestañas de Chrome / Terminal desaparecidas, dolor de cabeza, etc. )
Mi pregunta es, ¿cómo verifico el uso de memoria alta de la tarea del núcleo o cómo lidiar adecuadamente con ese tipo de situación? Intenté tomar Sample con Activity Monitor, pero está atenuado.
Mis detalles de MBR: 2.3GHz Intel Core i7 (finales de 2013) con 16GB de RAM. OS X: 10.9.5
zprint -t
(León) osudo zprint -t
(León de montaña y posterior).Respuestas:
Hay muchas cosas que salen mal con el uso elevado de tareas de kernel. Por lo general, esto está relacionado con un proceso defectuoso o pesado que utiliza en exceso los recursos del sistema (como indexar el almacenamiento, ejecutar máquinas virtuales, demasiadas pestañas en el navegador web u otros procesos en segundo plano).
Estos son algunos métodos que ayudan a investigar los problemas de uso del kernel de OS X:
Metodos basicos
Console.app
y verifique ' Todos los mensajes ' para ver si algo inusual está sucediendo actualmente.Use el Monitor de actividad para leer la memoria del sistema y determinar cuánta CPU, RAM y disco se está utilizando.
Alternativamente, ejecute
top
en la Terminal y mantenga presionado Spacepara actualizar: es más fácil encontrar el problema de la causa (¿ intercambios / intercambios / discos ?).Ejecútelo
sudo fs_usage
en la Terminal para informar las llamadas al sistema y las fallas de página relacionadas con la actividad del sistema de archivos en tiempo real (creo que esta es la mejor opción de todas las demás). Luego presiona Control- Cpara detenerlo.Acción: considere eliminar aplicaciones que aparecen con frecuencia en la lista, pero no las está utilizando.
Obtenga más información en: ¿Cómo depuro un proceso “kernel_task” fuera de control?
Corre
sudo syscallbypid.d
(osyscallbyproc.d
), espera un poco, presiona Control- C. Ahora verifique qué proceso generó la mayor cantidad de llamadas al sistema en ese tiempo dado (última columna) y si lo reconoce, considere matarlo. Si no, busca en Google y aprende más sobre estoMétodos avanzados
Use el
sysdiagnose
comando (puede activarse presionando Shift- Control- ⌥- ⌘- .(punto) para recopilar rápidamente información de diagnóstico de todo el sistema útil para investigar problemas de memoria / rendimiento del sistema (aparecerá en/var/tmp
) por usted o por los chicos de Apple. Durante el análisis, trate de no hacerlo cualquier cosa, cuando haya terminado, considere descomprimir el archivo generado y analizar los registros.Consulte: ¿Cómo obtiene archivos de diagnóstico del sistema de OS X?
Ejecute
footprint
para recopilar información de memoria detallada en un nivel de tipo por región VM y bytes intercambiados:Versión antigua:
Úselo
spindump
para perfilar todo el sistema, generará un/tmp/spindump.txt
archivo (incluido el núcleo y sus extensiones).Se usa
vm_stat
para mostrar estadísticas de memoria virtual. P.ejUtilícelo
zprint
para verificar información sobre el uso del núcleo, es posible:Mostrará las zonas de kernel que más se desperdician.
Úselo
newproc.d
para espiar nuevos procesos a medida que se ejecutan,creatbyproc.d
para archivos:Nota: en el nuevo OS X (10.11 o superior), esto puede no funcionar cuando la protección de integridad está habilitada (verifique
csrutil status
).Prueba
sar
: el indicador de actividad del sistema que puede muestrear e informar varios contadores estadísticos acumulativos mantenidos por el sistema operativo.Para herramientas de depuración más útiles, verifique los scripts de dtrace (
grep dtrace /usr/bin/*
). Si conoce el proceso defectuoso que causa el problema, puede utilizarlodtruss
para depurarlo.Comportamiento
Aquí hay algunas sugerencias que pueden ayudarlo con los problemas del sistema operativo.
Libere memoria inactiva. Para hacer esto, primero debe vaciar el caché y forzar la purga del caché del disco:
Su función es básicamente terminar todas las operaciones pendientes de E / S que usan caché de disco y luego liberar todo el caché de disco ocupado, por lo que debería liberar espacio en disco para facilitar la paginación y el intercambio de memoria principal. Es seguro de usar, ya que no afecta la memoria anónima que se ha asignado a través de malloc, vm_allocate, etc.
Use algunas aplicaciones de terceros para limpiar parte de la memoria utilizada en exceso, como iBoostUp , SystemPal , etc.
También puede deshabilitar Spotlight temporal:
Y considere otros servicios por:
Salga de su navegador web y verifique si eso ayuda. Por ejemplo, el uso de Chrome es muy ingenioso, especialmente cuando hay un procesamiento front-end en segundo plano (por ejemplo, Javascript) o animaciones similares a anuncios que constantemente muestran el contenido.
fuente
kernel_task
memoria y uso de CPU.Tuve un problema muy similar después de reemplazar mi pantalla LCD en un iMac de finales de 2012. El ventilador funcionaba a altas RPM y tenía un alto uso de CPU Kernel_task. Lo reduje a un sensor de temperatura que debe mover de la pantalla LCD anterior a la nueva pantalla de reemplazo. si olvida hacerlo, la velocidad de la CPU y Kernel_task se verán afectadas por la desaceleración de su sistema.
fuente