martes, 5 de marzo de 2013

Nuevo fichero Swap en Windows Server 2012 / Windows 8.


Quería comentaros la aparición del nuevo fichero de Swapfile introducido en Windows 8 y Windows Server 2012.

Con la nueva filosofía de las modernas aplicaciones (Apps), se necesita gestionar la memoria de otra manera distinta al tradicional método del fichero de paginación. Por tal motivo ha nacido el fichero de %SystemDirve%\swapfile.sys. Este fichero, como todos los de sistema permanece oculto. No deja de ser espacio en disco duro que se va a utilizar como memoria RAM.



Windows 8 puede liberar memoria de trabajo de una App suspendida cuando el sistema detecta falta de recursos, en este caso memoria, por ejemplo. Es un proceso muy parecido al de hibernar una determinada App y retornarla al estado de activo cuando el usuario vuelve a dicha App. Windows 8 aprovecha esta situación de suspensión/reanudación de las modernas Apps como mecanismo para vaciar o llenar la memoria de trabajo.

Secuencia de eventos:
  • Detección de presión en memoria.- El Gestor de vida de procesos / Process Lifetime Manager (PLM) detecta problemas de memoria en el sistema y pregunta al Gestor de Memoria / Memory Manager (MM) si puede vaciar la memoria de trabajo asignada a un proceso específico que aloja una aplicación de estilo moderno (App) en estado de "suspendida".
  • Movimiento de paginas en la memoria.- El gestor de memoria (MM) mueva las páginas de memoria desde la zona de trabajo de la App a una zona de paginación modificada (que es una zona de memoria cuyo contenido va a ser escrito en el disco antes de ser reutilizado), o sea, nuestro Swapfile.sys.

  • Escritura asíncrona.- Las páginas de memoria son escritas de manera asíncrona siguiendo las directrices marcadas por el gestor de memoria (MM), por ejemplo, por una necesidad de memoria o por un motivo oportunista.
  • Reserva.- Incluso después, las páginas de memoria se quedan intactas en la lista de espera. Se trata de una caché de páginas últiles de memoria que pueden ser reutilizadas por otras aplicaciones, si es necesario. En el caso de que la App original necesite dichas páginas, son devueltas inmediatamente.
Si un usuario cambia de nuevo a la App mientras las páginas de memoria de trabajo aun están en la memoria física (en la lista de páginas modificadas o en la lista de espera), dichas páginas se vuelven a añadir al proceso de la App inmediatamente.

Interesante aunque como se puede ver, solo es aplicable cuando tengamos dichas "Modernas Apps".

Bibliografía
Ask The Performance Team Blog.

No hay comentarios:

Publicar un comentario