Estaba usando mi MacBook Pro (con 16 GB de RAM) como de costumbre y, de repente, apareció esta ventana emergente que:
Su sistema se ha quedado sin memoria de aplicación.
Para evitar problemas con su computadora, cierre cualquier aplicación que no esté usando.
Obviamente he cerrado algunos que pude, pero no ayudó.
Después de verificar la memoria, parece que la tarea del kernel consumió 7 GB y se usaron 22.36 GB de memoria de intercambio de un total de 23 GB (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 kernel 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 arreglarlo después (recuperar el trabajo perdido, solucionar conflictos de aplicaciones, verificar mi carpeta perdida y encontrada, pestañas de Chrome/Terminal desaparecidas, dolor de cabeza, etc. ).
Mi pregunta es, ¿cómo verifico el alto uso de memoria de la tarea del kernel o cómo lidiar adecuadamente con ese tipo de situación? Intenté tomar Sample con Activity Monitor, pero está atenuado.
Detalles de mi MacBook Pro: Intel Core i7 de 2,3 GHz (finales de 2013) con 16 GB de RAM. OS X: 10.9.5
Hay muchas cosas que salen mal con el alto uso de tareas del kernel. Por lo general, esto está relacionado con un proceso defectuoso o pesado que utiliza en exceso los recursos del sistema (como la indexación del almacenamiento, la ejecución de máquinas virtuales, demasiadas pestañas en el navegador web o algunos otros procesos en segundo plano).
Aquí hay algunos métodos que ayudan a investigar problemas de uso del kernel de OS X:
Console.app
y verifique en ' Todos los mensajes ' para ver si ocurre algo inusual actualmente.Utilice el Monitor de actividad para leer la memoria del sistema y determinar la cantidad de CPU, RAM y disco que se está utilizando.
Alternativamente, ejecute top
en Terminal y mantenga presionado Spacepara actualizar; es más fácil encontrar la causa del problema ( ¿swapsins / swaps / discos ?).
Ejecutarsudo fs_usage
en Terminal para informar llamadas al sistema y 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 presione Control- Cpara detenerlo.
Acción: considere eliminar las 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?
Ejecutesudo syscallbypid.d
(o syscallbyproc.d
), espere un poco, presione Control- C. Ahora verifique qué proceso generó la mayor cantidad de llamadas al sistema en ese tiempo determinado (última columna) y, si lo reconoce, considere eliminarlo. Si no, búscalo en Google y obtén más información al respecto.
Use sysdiagnose
el comando (se puede activar presionando Shift- Control- ⌥- ⌘- .(punto) para recopilar rápidamente información de diagnóstico de todo el sistema útil para investigar problemas de rendimiento/memoria del sistema (aparecerá en /var/tmp
) ya sea por usted o por los chicos de Apple. Durante el análisis, trate de no hacer cualquier cosa, cuando haya terminado, considere descomprimir el archivo generado y analice los registros.
Consulte: ¿Cómo se obtienen los archivos de diagnóstico del sistema de OS X?
Ejecute footprint
para recopilar información de memoria detallada en un nivel de tipo de región de máquina virtual y bytes intercambiados:
sudo footprint -a
Versión antigua:
sudo footprint -all -categories -swapped -collapseSharing
Úselo spindump
para perfilar todo el sistema, generará /tmp/spindump.txt
un archivo (incluido el kernel y sus extensiones).
Úselo vm_stat
para mostrar las estadísticas de la memoria virtual. P.ej
vm_stat 1 # to display every second.
Úselo zprint
para verificar información sobre el uso del kernel, es posible:
sudo zprint -t -s | head -n20
Mostrará las zonas del núcleo más desperdiciadas.
Úselo newproc.d
para espiar nuevos procesos a medida que se ejecutan, creatbyproc.d
para archivos:
sudo newproc.d
sudo creatbyproc.d
Nota: en OS X más reciente (10.11 o superior), es posible que esto no funcione cuando la protección de integridad está habilitada (compruébelo con csrutil status
).
Try sar
- reportero de actividad del sistema que puede muestrear y reportar varios contadores de estadísticas acumulativas mantenidos por el sistema operativo.
Para obtener herramientas de depuración más útiles, consulte los scripts de dtrace ( grep dtrace /usr/bin/*
). Si conoce el proceso defectuoso que causa el problema, puede usarlo dtruss
para depurarlo.
Aquí hay algunas sugerencias que pueden ayudarlo con los problemas del sistema operativo.
Libera algo de memoria inactiva. Para hacer esto, primero debe vaciar el caché y forzar la purga del caché del disco:
sync && sudo purge
sync
- forzar la finalización de escrituras en disco pendientes (vaciar caché)
purge
- forzar la purga del caché del disco (lavado y vaciado)
Su función es básicamente terminar todas las operaciones pendientes de E/S que utilizan 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 la memoria usada en exceso, como iBoostUp , SystemPal , etc.
También puede desactivar Spotlight temporal:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
Y considere otros servicios por:
sudo launchctl list | grep ^[0-9]
sudo launchctl bslist | grep ^A
Salga de su navegador web y verifique si eso ayuda. Por ejemplo, el uso de Chrome es muy ingenioso, especialmente cuando hay algún procesamiento front-end en segundo plano (por ejemplo, Javascript) o las animaciones similares a anuncios están constantemente representando el contenido.
kernel_task
problema de uso elevado de memoria y CPU.kernel_task
. ¿Qué significa que la actividad del navegador termina en kernel_task
?Tuve un problema muy similar después de reemplazar mi pantalla LCD en un iMac de finales de 2012. El ventilador se ejecutaba 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 antigua a la nueva pantalla de reemplazo. si olvida hacerlo, la velocidad de la CPU y Kernel_task se ven afectados y ralentizan su sistema.
klanomath
kenorb
klanomath
zprint -t
(Lion) osudo zprint -t
(Mountain Lion y posteriores).klanomath
kenorb
zprint -t
me muestra la mesa. ¿Hay alguna forma de reducir/actualizar el uso del kernel? ¿O podría ser algún tipo de fuga de mala suerte?klanomath
kenorb
charlie martin
adnán