¿Por qué mi memoria sigue inactiva después de la purga?

Estoy tratando de entender cómo se asigna la memoria en mi máquina. He leído, y creo que entiendo, estas publicaciones y enlaces asociados: Problemas para comprender la memoria inactiva en MacOSX , Memoria inactiva

Sin embargo, todavía tengo 10 GB de memoria 'inactiva' mientras un proceso usa ~25 GB de intercambio. Mi máquina tiene 32 GB de RAM y un solo proceso usa 21 GB Real Mem / 24 Private / 34 virtual.

¿Por qué se va a intercambiar este proceso? ¿Realmente está usando toda esa memoria que está etiquetada como inactiva, o es posible que algo ande mal con mi memoria inactiva? Lo intenté purge, pero eso no tuvo ningún efecto según el monitor de actividad.

Respuestas (2)

Estaba leyendo un poco sobre la memoria inactiva después de preguntarme sobre eso. Según tengo entendido, la memoria inactiva es una memoria que contiene programas y datos que ha dejado. OS X mantiene la memoria en caso de que decidas reiniciar el programa. Debido a que todavía está en la memoria, puede iniciarlo mucho más rápido. Puede ver esto en acción al salir de un programa grande y reiniciarlo. Debería comenzar mucho más rápido de lo que lo hizo originalmente.

Sin embargo, la memoria inactiva no absorbe su memoria porque OS X la considera todavía disponible para que la usen los programas, solo que tiene una prioridad más baja que la memoria libre. es decir. si OS X necesita memoria para otro programa, asignará memoria del área libre, luego la asignación inactiva. Entonces, al pensar en cuánta memoria tiene libre para que las aplicaciones la usen, se combinan inactivo y libre.

En cuanto al intercambio, si un programa lo está utilizando, debería poder saberlo fácilmente por la cantidad de E/S en curso y una ralentización notable.

Si realmente desea ver lo que sucede, le sugiero que descargue los menús de iStat, que es una herramienta realmente buena para ver las partes internas de su sistema y mostrar varios instrumentos en la barra de menú.

Realmente no recomiendo purge, ni siquiera tratar de comprender completamente el sistema de memoria de OS X. A menos que tenga problemas de rendimiento, simplemente saque el Monitor de actividad de su base y deje que su computadora haga su trabajo. (Así es como se supone que son las Mac, de todos modos).

En una explicación más técnica y menos sarcástica: Tu Mac administrará automáticamente sus recursos para obtener el máximo rendimiento. La memoria inactiva es una gran parte de esto.

Fue purgeun último recurso. Estoy experimentando graves problemas de rendimiento; cuando cambio mi máquina es esencialmente completamente insensible. Entiendo que se supone que mac "simplemente lo hace bien", pero la evidencia en mi máquina es que 1/3 de la RAM nunca se usa. He usado pruebas de memoria dentro del código para mostrar que su uso de memoria está de acuerdo con el monitor de actividad, pero no obstante, una gran parte de la memoria de mi máquina permanece inactiva.
@keflavich ¿Qué versión de OS X está ejecutando? ¿Cuál es el peor proceso ofensivo?
10.6.8. El proceso que consume decenas de GB es IDL, el lenguaje de datos interactivo. Está cargando y generando grandes cantidades de datos. Se supone que debe hacer eso. No sé qué procesos están asociados con la RAM 'inactiva'. Si pudiera averiguarlo, estaría satisfecho.