5 votos

¿Por qué la "Memoria Real" es mayor que la "Memoria" para el proceso kernel_task?

¿Qué significa exactamente la columna Memoria del Monitor de actividad?

¿Cómo es que en el ejemplo de abajo (de un sistema MacOS High Sierra) la columna Memoria Real es mayor que la columna Memoria?

Según una pregunta anterior ¿Cómo se calcula la columna "Memoria" en el Monitor de actividad? Por lo tanto, se podría esperar que la memoria real fuera siempre menor o igual que la memoria, lo que aparentemente no siempre es cierto.

Activity Monitor

Edita: Este comportamiento no sólo es aplicable a la tarea del núcleo, sino también a otros procesos. Por ejemplo, en la siguiente captura de pantalla vemos un par de Ayuda de Google Chrome experimentando el mismo comportamiento, donde Real Mem > Memory. Lo mismo puede verse con Muelle , Notas , Foco , Facetime .

enter image description here

0 votos

Vaya, Chrome debe de tener muchas fugas de memoria. ¿Puedes hacer que eso ocurra en un caso reproducible o necesitas muchas horas de navegación para conseguir esa condición de memoria para las numerosas aplicaciones de ayuda?

0 votos

Sí, muy reproducible. Y no sólo le pasa a Chrome, pero muchos otros programas, tales como Muelle , Notas , Foco , Monitor de actividad mismo. Véase la captura de pantalla actualizada más arriba. Así que a menos que esto es un problema del sistema dado, sospecho que nos estamos perdiendo algo en la definición de Apple de Mem real .

2voto

Oskar Puntos 1242

El núcleo es especial: es el microsistema que realmente asigna memoria y ejecuta la memoria virtual. Puedes asumir que 3,60 GB es lo que tu kernel ha reclamado y que 1,86 GB de eso corresponde a lo que la tarea en sí necesita y el resto es la sobrecarga / asignaciones para soportar todas las demandas hechas al kernel de Mach.

Todas las demás líneas del monitor de actividad se comportan como cabría esperar, sumando con bastante claridad una vez que se ignoran los números del núcleo:

  • La asignación total de memoria virtual es siempre la mayor. La mayor parte está sin asignar/no asignada físicamente y no se encuentra en ninguna categoría de la lista.
  • Mem real es la asignación no compartida y no comprimida a esa tarea.
  • Memoria comprimida es la parte de la memoria total que ha sido comprimida antes de ser almacenada activamente.
  • Privado y Compartido son ambos el uso real de memoria pero indican si otros procesos también podrían necesitar o ser responsables de esa asignación frente al total.

Para una mayor discusión de la kernel_task, esta pregunta tiene algunos grandes enlaces y discusión de cómo kernel_task es muy diferente del resto de los procesos que ves en MacOS.

0 votos

Esta descripción sobre la funcionalidad especial del núcleo tiene sentido. Sin embargo, ¿cómo es que otros procesos experimentan el mismo comportamiento? (Véase la descripción actualizada de la pregunta con una captura de pantalla adicional). Gracias.

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