147 votos

Cómo investigar alta del núcleo de la tarea el uso de la memoria?

Yo estaba usando mi MBP (con 16 gb de RAM) como de costumbre y de azul tengo este emergente que:

El sistema se ha quedado fuera de la memoria de la aplicación.

Para evitar problemas con el ordenador, cierre todas las aplicaciones que no esté utilizando.

Force Quit Applications - Your system has run out of application memory - screenshot

He obviamente cerrado los pocos que he podido, pero no ayuda.

Después de comprobar en la memoria, parece núcleo de la tarea comió 7GB y 22.36 GB de memoria de intercambio o swap fue utilizado del total de 23 GB (que obviamente era el caso). Sin embargo, todavía tengo 20 gb de espacio libre en mi SDD.

Memory - iStat Menus - screenshot

Monitor de actividad no ayuda mucho mientras mi OS X fue rumbo a la destrucción.

Process Explorer

kernel_task - Memory tab - screenshotkernel_task - Statistics tab - screenshot

Mi top estadísticas antes de mi núcleo de congelación:

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 congelado y he tenido que hacer hard reset, reparación de mi SDD en modo de recuperación y fijación de después (la recuperación de la pérdida de trabajo, la fijación de los conflictos entre aplicaciones, revisando mi lost+found carpeta de Chrome/Terminal de pestañas ido, dolor de cabeza, etc.).

Mi pregunta es, ¿cómo puedo comprobar el uso de memoria alta del núcleo de la tarea o de cómo tratar adecuadamente con ese tipo de situación? He tratado de tomar la Muestra con el Monitor de Actividad, pero es de color gris.


Mi MBR detalles: 2.3 GHz Intel Core i7 (finales de 2013) con 16 gb de RAM. OS X: 10.9.5

204voto

matthew k Puntos 11

Hay muchas cosas que van mal con núcleo alto uso de tareas. Generalmente, esto está relacionado con el defectuoso o pesados proceso que el uso excesivo de los recursos del sistema (tales como la indexación de almacenamiento, máquinas virtuales en ejecución, muchas pestañas en el navegador web o algunos otros procesos en segundo plano).

Aquí están algunos métodos que ayudan a investigar el kernel de OS X problemas de uso:

Métodos básicos

  • Ejecutar Console.app y verificación en"Todos los Mensajes"para ver si hay algo inusual en la actualidad está sucediendo.
  • Utilice el Monitor de Actividad para leer la memoria del sistema y determinar cuánto de la CPU, la RAM y el Disco está siendo utilizado.

    Alternativamente ejecutar top en Terminal y mantener el Espacio para la actualización de - más fácil para encontrar la causa del problema (swapins/swapouts/discos?).

  • Ejecutar sudo fs_usage en la Terminal para que informe de las llamadas del sistema y fallos de páginas relacionadas con el sistema de ficheros de la actividad en tiempo real (creo que esta es la mejor opción de todas las demás). Luego pulsa Control-C para detenerlo.

    Acción: Considere la posibilidad de matar aplicaciones que aparece con frecuencia en la lista, pero no los estés usando.

    Más información en: ¿Cómo depurar un fuera-de-control "kernel_task" proceso?

  • Ejecutar sudo syscallbypid.d (o syscallbyproc.d), esperar un poco, de golpe Control-C. Ahora verificación del proceso que genera la mayoría de las llamadas al sistema en el que en un momento dado (última columna) y si la reconocen, considere la posibilidad de matarlo. Si no, Google y aprender más sobre él.

Métodos avanzados

  • Uso sysdiagnose comando o pulse Shift-Ctrl-Alt-CMD-. rápidamente se reúnen de todo el sistema de información de diagnóstico útil en la investigación de la memoria del sistema/problemas de rendimiento (aparecerá en /var/tmp) ya sea por usted o los chicos de Apple. Durante el análisis, tratamos de no hacer nada, cuando se hace - considerar la posibilidad de descomprimir el archivo generado y analizar los registros.

  • Ejecutar footprint a recopilar información detallada información de la memoria en un por-VM-región tipo de nivel y cambió de bytes:

    sudo footprint -a
    

    Versión anterior:

    sudo footprint -all -categories -swapped -collapseSharing
    
  • Uso spindump el perfil de todo el sistema, se generará /tmp/spindump.txt archivo (incluyendo el núcleo y sus extensiones).

  • Uso vm_stat virtuales estadísticas de la memoria. E. g.

    vm_stat 1 # to display every second.
    
  • Uso zprint a controlar la información sobre el kernel de uso, es posible por:

    sudo zprint -t -s | head -n20
    

    Te muestran la mayoría de desperdiciar el núcleo de las zonas.

  • Uso newproc.d a snoop nuevos procesos que se ejecutan, creatbyproc.d de archivos:

    sudo newproc.d
    sudo creatbyproc.d
    

    Nota: En la más reciente de OS X (10.11) esto puede no funcionar cuando la integridad de la protección está activada (consulte por csrutil status).

  • Intente sar - sistema de reportero de la actividad que puede de la muestra y el informe de varios acumulativa de contadores de estadística mantenida por el sistema operativo.

Para obtener más útiles herramientas de depuración, verificación de dtrace secuencias de comandos (grep dtrace /usr/bin/*). Si usted sabe el defectuoso proceso que causa el problema, usted puede usar dtruss a depurar.


Acciones

Aquí están algunas sugerencias que pueden ayudarle con los problemas del sistema operativo.

  • Liberar algo de memoria inactiva. Para ello, has de vaciar la memoria caché de primer y de la fuerza de caché de disco para ser purgado:

    sync && sudo purge
    

    sync - la fuerza de la finalización de la pendiente de las escrituras en disco (flush cache)

    purge - la fuerza de la caché de disco para ser purgado (sonrojado y vaciado)

    Su función es, básicamente, poner fin a todos los I/O de operaciones pendientes que están utilizando la caché de disco y, a continuación, a liberar a todos los ocupados de la caché de disco, por lo que debería de espacio libre en disco para la facilidad de paginación y el intercambio de la memoria principal. Es seguro de usar, ya que no afecta a la memoria anónima que ha sido asignado a través de malloc, vm_allocate, etc.

  • El uso de algunos 3 ª parte aplicaciones de aclarar algunas abusado de la memoria, tales como iBoostUp, SystemPal, etc.

  • Usted también puede desactivar temporal en la mira:

    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist 
    

    Y considerar otros servicios:

    sudo launchctl list | grep ^[0-9]
    sudo launchctl bslist | grep ^A
    
  • Cierre el explorador web y comprobar si eso ayuda. Por ejemplo mediante el uso de Chrome es muy ingenioso, especialmente cuando hay algo de front-end de procesamiento que va en el fondo (por ejemplo, Javascript) o anuncio-como las animaciones son constantemente representar el contenido.

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