Después de un día de trabajo en mi MacBook Pro con Mac OS X 10.6.5, Activity Monitor muestra que la mayoría de los 8 GB de memoria de mi computadora están "Inactivos", y solo una pequeña porción del gráfico circular es "Gratis". Esto es incluso cuando he cerrado todas las aplicaciones, con solo el Finder ejecutándose.
Qué significa eso? ¿La memoria "inactiva" está ocupada por algo? ¿O todavía está disponible para que las aplicaciones lo usen? Gracias.
Respuestas:
OS X, como la mayoría de los sistemas operativos modernos, utiliza un sistema de memoria virtual para administrar la memoria. Entre otros propósitos, esto permite que el sistema operativo trate la computadora como si tuviera un grupo ilimitado de memoria. Para lograr esto, el sistema operativo enviará las partes de RAM no utilizadas a un almacén de discos conocido como swapfile .
Por supuesto, la RAM no es ilimitada, por lo que OS X agrupa la RAM en cuatro categorías: cableada, activa, inactiva y gratuita. El sistema operativo requiere memoria cableada y nunca se puede paginar sin memoria. La memoria activa es la memoria utilizada por los programas que se ejecutan actualmente. La memoria inactiva fue utilizada recientemente por programas que ahora han sido terminados (o no han sido utilizados en mucho tiempo). La memoria libre es, como su nombre indica, RAM que no se está utilizando.
Cuando inicia un programa, se carga en la memoria activa. Sin embargo, cuando cierra un programa, no se elimina de la RAM; más bien, se encuentra con la memoria inactiva. Es por eso que a menudo es más rápido relanzar un programa: todavía está en la RAM (intente esto con un gran programa como Firefox).
Una vez que se utiliza toda su memoria (la memoria libre es 0), el sistema operativo escribirá memoria inactiva en el archivo de intercambio para hacer más espacio en la memoria activa.
Si un programa se localiza en el archivo de intercambio, y lo reinicia, se extraerá del archivo de intercambio a la memoria activa.
En resumen, en realidad no debería preocuparte si tu memoria libre es baja. De hecho, desea que tenga poca memoria libre: memoria desperdiciada (ya que el sistema operativo no la está utilizando para nada).
Al examinar la cantidad de memoria que usa su computadora, en realidad desea prestar atención principalmente a Swap utilizado , que le indica el tamaño del archivo de intercambio de memoria virtual, y Page ins , que le dice con qué frecuencia el sistema operativo tiene que extraer la memoria del archivo de intercambio en memoria activa.
fuente
Lo más probable es que esto no sea un problema y, de hecho, está potencialmente acelerando su computadora.
Todos los sistemas operativos (¿la mayoría?) Utilizan un caché de disco, que almacena algunos archivos a los que se accedió recientemente en la memoria para que se pueda acelerar el acceso repetido de esos archivos. El caché de disco en OS X es de tamaño variable y aparecerá como "Memoria inactiva" en uso.
Si algún programa necesita más memoria, OS X borrará parte de la memoria caché del disco (los archivos utilizados menos recientemente) para dejar espacio para que el programa se ejecute / expanda.
Me parece que si compilo o clasifico muchas fotos (es decir, accedo a miles de archivos en sucesión), la memoria caché del disco se expandirá y usará mucha memoria inactiva. Siempre que sea solo esta caché de disco, no hay de qué preocuparse.
Si se trata de un proceso en segundo plano o una aplicación que se está expandiendo en su uso de memoria (pero sus páginas se están marcando como inactivas), podrá saber si verifica cualquier programa con un uso muy alto de "Memoria Real" en Activity Monitor. Si no hay nada obviamente grande (es decir, el total es muy inferior a 8 GB), será el caché de archivos.
Debería ver que hay poco o ningún uso de intercambio, y si abre un programa de uso intensivo de memoria, la cantidad de memoria inactiva disminuirá sin tener que cambiar al disco.
(Creo que hubo un error en 10.4 o 10.5 durante un tiempo en el que no siempre liberaría esta memoria de manera muy efectiva y causaría un intercambio a pesar de tener una memoria caché de disco grande, pero en mi experiencia esto parece resuelto en 10.6).
fuente
La memoria "inactiva" está disponible para que la utilicen otros programas: solo se trata de almacenar en caché los programas o los datos que usó recientemente, en caso de que los necesite nuevamente. Si inicia diferentes programas o necesita datos diferentes, la memoria en caché se borrará y estará disponible para su nueva carga de trabajo según sea necesario.
Esa es la teoría, en cualquier caso, y creo que es acertada. Sin embargo, encontré esta referencia a una utilidad de "purga" que alguien escribió porque no creía que la memoria inactiva se liberara lo suficientemente rápido.
Para obtener documentación oficial sobre el tema, lea esto (y busque "inactivo").
fuente
Comenzando con OS X 10.5, hay problemas evidentes de administración de memoria en MAC OS X.
Finalmente logré reproducir el escenario problemático, así que ejecuté la prueba y grabé la pantalla en video.
Problema de rendimiento de MAC OS X Lion: administración de memoria rota
Ejecuto el comando tar + bzip, que es material básico de Unix, en la gran cantidad de archivos de imagen, en mi carpeta Imágenes /. Justo antes de comenzar, ejecuto el comando "purgar" para eliminar los datos del programa inactivos / en caché.
Puede ver en el video que la memoria libre comienza a caer muy rápido y que la inactividad aumenta constantemente. Si observa el comando "bsdtar", solo se necesita un fragmento de RAM, por lo que el problema no está en este proceso. No se puede decir que se trata de una pérdida de memoria del programa, porque el problema no estaría en la memoria RAM inactiva, sino en activa / cableada.
Cuando la memoria libre cayó por debajo de 100 MB, inicié algunas aplicaciones, como Safari, iPhoto y MS Word, y puedes ver en el video que tarda incluso minutos en iniciar una aplicación, cuando normalmente (cuando hay RAM libre), tomaría unos 3-5 segundos para cargar.
Ejecuto el mismo escenario y los mismos comandos en mi caja Linux Centos 6, ¡no hay problema! El uso de memoria es de unos 10-20mb, no hay problemas con el caché / buffer.
¡La administración de memoria debe estar muy rota en Mac OS X!
fuente
Esta discusión tiene sentido solo si la afirmación de que "su computadora funcionará más rápido cuando la memoria libre es baja" - era cierta. A menos que mi Mac de escritorio tenga un cableado extraño, en el momento en que mi memoria libre (monitoreada) comienza a agotarse, cualquier programa que esté ejecutando en ese momento comienza a atascarse hasta el punto en que no puedo hacer nada hasta que se recupere por sí mismo o por mi intervención de memoria libre. Tengo un iMac 2118 (2006 o posterior) que alcanza un máximo de 3 GB de RAM, así que trato de administrarlo cuando puedo pero esto es muy frustrante. ¿Alguna idea?
fuente