Antecedentes:
OSX guarda cierta información en la RAM que ya no se utiliza, pero que se ha utilizado recientemente. Esto se llama memoria inactiva y pretende mejorar la experiencia del usuario acelerando algunas acciones:
Por ejemplo, si has estado usando Mail y luego lo dejas, la RAM que Mail estaba utilizando se marca como memoria inactiva. La memoria inactiva está disponible para ser utilizada por otra aplicación, al igual que la memoria libre. Sin embargo, si abre Mail antes de que su memoria Inactiva sea utilizada por una aplicación diferente, Mail se abrirá más rápido porque su memoria Inactiva inactiva se convierte en memoria activa, en lugar de cargarla desde la unidad más lenta.
Suena cuestionable (¿cuánto puede acelerar Mail en una máquina de cuatro núcleos?), pero al menos eso no podría herido ya que dicha memoria puede ser tratada como memoria libre. En realidad, puede :
En OS X, cuando el número de páginas en la lista libre cae por debajo de un el kernel recupera páginas físicas para la lista libre intercambiando libre mediante el intercambio de páginas inactivas fuera de la memoria.
Esto me hace cuestionar si el manejo de la memoria de OSX es de hecho superior; después de todo la misma página menciona que
Cualquier tipo de paginación... afecta negativamente al rendimiento porque obliga al sistema a pasar mucho tiempo leyendo y escribiendo en el disco. La lectura de una página desde el almacén de respaldo toma una cantidad significativa de tiempo y es mucho más lento que leer directamente desde la RAM. Si el sistema tiene que escribir una página en el disco antes de poder leer otra página del disco, el impacto en el rendimiento es aún peor.
Asunto:
Esto (la paginación de la memoria inactiva y la subsiguiente degradación severa del rendimiento) es probable que ocurra incluso durante tareas triviales como la navegación con varias pestañas, incluso si el número de pestañas abiertas simultáneamente se mantiene dentro de lo razonable (tanto Safari como Chrome parecen ser culpables de añadir a la memoria inactiva cada vez que se cierra una pestaña).
La máquina se vuelve apenas utilizable cuando esto sucede - incluso abriendo Terminal y purgar la memoria puede tardar unos minutos.
Pregunta:
¿Se puede desactivar el intercambio de memoria inactiva? O, al no ser esencial la memoria inactiva, ¿puede desactivarse por completo?
Alternativamente, ¿existe un demonio o una aplicación preferentemente de Apple que supervise uso de memoria inactiva (un oxímoron de OSX) y cuando sobrepasa una cantidad arbitraria (¿medio giga?) un purge
¿se realiza?
1 votos
Viendo las etiquetas supongo que todavía no han arreglado la paginación de la memoria inactiva en Mountain Lion.
0 votos
@Pieter: aparentemente no hay nada que arreglar porque la implementación actual es tal y como Apple pretendía :)
0 votos
¿Han confirmado que esto "funciona como estaba previsto"? No entiendo cuáles son los beneficios de intercambiar la memoria inactiva al disco.
0 votos
" posterior degradación severa del rendimiento " - a pesar de lo que aparece en la Mac Developer Library, no estoy convencido de que todas las degradaciones sean severamente negativo. Sospecho que en algunos casos hay un más negativo efecto del sistema operativo tratando de restringir su acercamiento a los archivos de intercambio externos : Memoria virtual de Mac: cómo hacer que OS X cree archivos de intercambio (página) tan libremente con un arranque normal como con un arranque seguro (swapfile1 etc)
1 votos
@Graham Perrin: cuando digo grave, hablo por experiencia (aunque, no necesariamente compartida) - si trabajas con cantidades masivas de datos y perpetuamente te quedas sin espacio en el disco duro antes de tenerlo archivado, el archivo de intercambio se fragmenta cada vez más, aumentando el tiempo de acceso, etc. (no sería un problema de rendimiento con un SSD me imagino, pero suena como algo que acortaría su vida útil). No estoy abogando por este patrón de uso, pero es algo que sigo encontrando.