¿Se incluye la VRAM integrada en la RAM `kernel_task` en el Monitor de actividad?


11

Me sorprendió descubrir que el kernel de Mac OS X puede consumir 750 MB de RAM. Algunas preguntas relacionadas:

aclaró un poco el problema, pero queda una pregunta: la afirmación de que la memoria de video para gráficos integrados integrados también está marcada como utilizada por el núcleo .

¿Es realmente cierto? ¿Se incluye VRAM en el número que muestra Activity Monitor kernel_task?


Como nota, mi captura de pantalla que muestra 750 MB de ram para el Kernel fue una MacBook Pro, Retina, 13 pulgadas, principios de 2013 con "Intel HD Graphics 4000 1024 MB" como la única GPU y la CPU es Intel Core i5 a 2.6 GHz . Intentaré correr sysdiagnosey ver si puedo analizar tu pregunta central.
bmike

@bmike: Entonces, dado que tiene 1 GB de VRAM y kernel_taskusa "solo" 750 MB, acabamos de establecer que todos los 750 MB provienen de la RAM habitual, no VRAM. ¿Derecha?
sds

Tengo 1,8 GB ocupados por el kernel, ¿es malo?
Render

Respuestas:


3

¿Qué versión de Mac OS X está ejecutando?

El kernel_taskMac OS X 10.9 Mavericks requiere 1.07 GB de RAM en mi MacBook Pro 2012 (no Retina) con gráficos integrados Intel HD4000 y 16 GB de RAM del sistema. Sí, esto es completamente necesario. Si tiene más RAM física, Mac OS X utilizará mucho para kernel_taskque el sistema funcione de manera óptima.

Con cada nueva versión de Mac OS X a lo largo de los años, se kernel_taskha necesitado más y más memoria para ejecutar Mac OS X.

En mi experiencia, si está ejecutando Mac OS X 10.8 Mountain Lion, su Mac necesita tener más de 4 GB de RAM del sistema para funcionar de manera óptima (sin que el sistema operativo necesite usar el archivo de intercambio en el disco duro constantemente, lo que degrada la velocidad de rendimiento). Ahora parece que su Mac necesita más de 6 GB de RAM para ejecutar Mac OS X 10.9 Mavericks de manera efectiva.

La cantidad de RAM necesaria para Microsoft Windows 8.0 y 8.1 es comparable. Esto es simplemente lo que se requiere para los nuevos sistemas operativos de computadoras personales en 2013.

Tenga en cuenta que se ejecutan muchas funciones del sistema kernel_task, y la lista de lo que se está ejecutando en su Mac cambia en función de para qué está utilizando su Mac.

Encontré una buena explicación para usted, en " Kernel_task tomando RAM en OS X " de CNet en 2011. Una cita:

... verá otro proceso llamado "kernel_task" que también usará regularmente unos cientos de megabytes de RAM real y parece aumentar su huella de RAM con el uso del sistema.

El núcleo en OS X es la arquitectura de software responsable de manejar los recursos que los procesos y programas necesitan. Estos incluyen la gestión de la programación multitarea, la memoria virtual, la entrada y salida del sistema y varias rutinas de comunicación entre procesos. Además, el kernel se puede modificar y mejorar la funcionalidad al cargar extensiones de kernel (kexts) para proporcionar administración a nivel del sistema de funciones como Bluetooth y Wi-Fi, procesadores gráficos, hardware de terceros, acceso a dispositivos periféricos y un sistema de archivos especial apoyo. En esencia, el núcleo es responsable de ejecutar su hardware y poner los recursos de hardware a disposición de las aplicaciones y los servicios del sistema.

... el proceso "kernel_task" puede ocupar una gran cantidad de memoria del sistema. Cuando se inicia el sistema, aunque puede tener cargadas extensiones de kernel, no todos los servicios están activos. El sistema puede estar listo para usarlos, pero no los cargará completamente hasta que sea necesario. Por lo tanto, si inicialmente inicia su sistema y verifica el Monitor de actividad, puede ver que el proceso kernel_task ocupa una cantidad relativamente pequeña de RAM. Cuando comience a usar su sistema y a activar funciones como su cámara iSight, servicios de Wi-Fi, cambiar de GPU y usar dispositivos externos, entonces kernel_task hará uso de los recursos para estos dispositivos y crecerá en tamaño.


2
¿Cómo responde esto a la pregunta real que hice sobre VRAM?
sds

Creo que la redacción original de su pregunta, tal como la leí, era "¿Qué se incluye en kernel_task?" y eso es lo que intentaba responder. Desde ese momento, ha reformulado el título de la pregunta.

2
Lamento que mi pregunta fuera confusa. Sé lo que es un kernel y lo que hace, mi pregunta fue sobre los informes de uso de memoria.
sds

2

Supongo que está incluido. Tengo un MBP 13 "2015 con Iris, y el kernel_task que también ocupa mucha memoria, estaba investigando la situación y descubrí un zprintcomando maravilloso . Imprime el uso de las zonas de memoria del kernel, veo que 2 entradas toman la mayor parte el recuerdo para mi:

  • com.apple.iokit.IOAcceleratorFamily2 - 758044K
  • vm.pages.array - 221204K

Lamentablemente, no pude encontrar información confiable en IOAcceleratorFamily2 (y no pude encontrar ninguna información en vm.pages.array), pero el nombre sugiere que tiene que ver algo con E / S y aceleración. Supongo que a partir de esa información, es parte de la memoria, responsable de la aceleración de video y dedicada a las necesidades de procesamiento de imágenes de Iris.

Hice una pequeña prueba, comenzando una grabación de pantalla y dos videos de YouTube 4K en paralelo: com.apple.iokit.IOAcceleratorFamily2 aumentó a 1.1G en cuestión de segundos, y después de que detuve la grabación y los videos, cayó a 630M . Por lo tanto, creo que es muy probable que sea responsable de VRAM.


Entonces, ¿no hay forma de reducir esos casi gigabytes de RAM? ¿No debería el chipset de video tener una memoria dedicada? Tomar un mínimo de 800 MB de la RAM es un delito :(
Kamafeather
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.