8 votos

Dificultad para la Comprensión de la Memoria Inactiva en MacOSX

Pensé que yo entendía cómo MacOSX administra la memoria, pero recientemente me he quedado desconcertado por su rendimiento. Aquí está la situación:

  1. Tengo un nuevo Core i7 sistema con 8 gb de memoria física que ejecuta MacOSX 10.6.7. Hay un par de Aplicaciones que se ejecutan regularmente tomar algo de la memoria-Safari, Mail, Xcode, Terminal, etc.
  2. Necesito ejecutar tres procesos de 64 bits en paralelo, cada uno de los cuales utiliza unos 2000M de memoria real.
  3. Aunque el cable de la memoria se mantiene por debajo de 1000M (es decir, tengo más de 7000M disponible para los procesos), veo mucha paginación de la actividad que conduce a la muy mala actuación de los tres intensivo de la memoria de los procesos que puse en marcha.
  4. Al parecer, no estoy acabando de memoria RAM disponible, como el reporte de la memoria inactiva se mantiene alrededor de 2500M y la memoria activa no se eleva por encima de los 5000M.

Puede alguien darme una pista de por qué MacOSX no libera la memoria inactiva para los procesos que necesitan, en lugar de recurrir a la paginación? También, hay alguna forma correcta de influir en la gestión de la memoria por el sistema?

5voto

Mike Meyers Puntos 858

He encontrado, en mi máquina, que Mac OS X es un poco lento a la página de la derecha las cosas.

Siempre haciendo algo en particular de la memoria de hambre, voy a menudo dejar un par de aplicaciones para ayudar a cabo. Safari es un enorme memoria de cerdo si ha estado funcionando por un tiempo y es la parte superior de la lista de aplicaciones para dejar de fumar. En mi caso esto fue cuando traté de correr VMWare Fusion sin suficiente RAM real.

Usted probablemente sabe esto, pero aquí hay un par de enlaces a la documentación de Apple que describen el uso de la memoria y de la memoria virtual en OS X:

http://support.apple.com/kb/ht1342

http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html

Aquí está la explicación que se da: La lista de inactivos contiene las páginas que están actualmente residente en memoria física, pero no han sido visitada recientemente. Es difícil tener una definición exacta de lo que esto significa, pero es que parece incluir un archivo de caché del sistema, así como la memoria inactiva.

La memoria inactiva es, probablemente, una cosa difícil de manejar en un interactiva interfaz gráfica de usuario impulsada OS donde un usuario puede cambiar a cualquier aplicación que se ejecuta en cualquier momento y proporcionando la capacidad de respuesta en este tipo de situaciones es importante.... pero la otra cara de esto es que en una situación como la suya, el sistema operativo no sabe muy bien de lo que lo correcto es.

Es posible purgar (algunos de) la memoria inactiva mediante la purga de comandos. Esto puede ser necesario instalar por instalar el CHUD herramientas, pero puede que ya tenga instalada. No he intentado usar el comando purgar así YMMV...

He paseado un poco y puede o no haber respondido a su pregunta. Después de escribir todo esto, me encontré con otra pregunta en este sitio que mucha de la misma información que también podría ayudar.

1voto

brianng Puntos 4478

MacOS hace liberar la memoria inactiva, pero sólo si es realmente necesario. Que "la memoria inactiva" en realidad puede ser la memoria que el núcleo cree para ser un candidato para la paginación, pero no ha decidido todavía, a la espera de más tiempo pasa sin que la memoria inactiva que se hace referencia (en su lugar, se centra en la paginación de la memoria que realmente es menos probable para ser utilizado de nuevo pronto). En tal caso, la "purga" de la memoria inactiva causará que su rendimiento a sufrir (ya que los utiliza con frecuencia páginas tendría que ser leída de nuevo desde el disco antes de que el programa pueda continuar la ejecución).

purge es útil para los desarrolladores para simular las condiciones de partida de una aplicación-por ejemplo, para ver cuánto tiempo se tarda en obtener una aplicación que se ejecuta el primer tiempo después de un arranque o un largo paréntesis. Para el usuario típico, purge no es muy útil (y en realidad causar degradación temporal de la performance).

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