¿Por qué la configuración predeterminada en Windows de 64 bits sigue implicando un archivo de página grande?

¿Por qué la configuración predeterminada en Windows de 64 bits sigue implicando un archivo de página grande?

Mi pregunta se basa en la observación de que desde la introducción de Windows de 64 bits, muchas más personas a mi alrededor parecen caer en bloqueos de sus sistemas relacionados con archivos de paginación. Por ejemplo, algo simple como zeros(2e5)en MATLABasignano sólo 1600 kB de ceros, sino 160 GB. Gracias al espacio de direcciones de 64 bits se puede direccionar esta cantidad, pero muy a menudo no en la RAM. (Podría nombrar muchos ejemplos como este que se reducen a la asignación de memoria). Como resultado, Windows recurre al archivo de paginación y almacena 160 GB de ceros en el disco. Sólo después de eso (o de un apagado forzado) su sistema vuelve a responder.

En Windows de 32 bits, este problema se evitó en gran medida gracias al espacio de direcciones de como máximo 4 GB.

Entonces, ¿por qué Microsoft todavía configura un archivo de página grande de forma predeterminada? Según mi observación, el tamaño predeterminado es mayor con mayor RAM, lo que realmente no tiene sentido a menos que tengas un disco realmente grande y muy rápido, como un SSD terriblemente caro. Por ese motivo, tiendo a desactivar los archivos de paginación en instalaciones de Windows de 64 bits. ¿O no debería? ¿Cuáles son las razones a favor o en contra de hacer esto?

Respuesta1

Windows no realiza una asignación diferida de memoria como lo hace Linux y la cantidad de memoria asignable depende del archivo de página.

En Linux se supone que cualquier asignación "escasa" de memoria no se utilizará por completo, por lo que permite a los programas sobreasignar memoria continuamente hasta que se agote físicamente. En el caso de que los programas realmente cumplan con su memoria comprometida pero no haya suficiente RAM o intercambio para satisfacer la demanda, comenzará a eliminar procesos.

Windows hace lo contrario y supone que toda la memoria asignada eventualmente se usará y, por lo tanto, se respetan todas las reservas hasta que se alcance el tamaño de la memoria física + el archivo de página. Si un programa puede asignar memoria, entonces podrá utilizarla. Si no puede asignar memoria, entonces ha alcanzado el límite de RAM y tamaño del archivo de página.

Al deshabilitar el archivo de página, un programa que asigna memoria que no está usando (es decir, asume un archivo de página) puede hacer que se le acabe cuando todavía tiene algo "libre".

Si desea utilizar toda su RAM en un sistema Windows, debe dejar que el sistema funcione según lo previsto dándole un archivo de paginación.

Respuesta2

El archivo de paginación proporciona dos beneficios principales al sistema operativo, ninguno de los cuales se ve influenciado significativamente por un sistema operativo de 64 bits.

  1. El archivo de paginación aumenta el límite de confirmación.

Cuando una aplicación asigna memoria, un sistema operativo Windows promete o se compromete a tener suficiente almacenamiento disponible, incluso en el peor de los casos. Este almacenamiento puede estar en la RAM o en el archivo de paginación. El límite de confirmación se define como el tamaño de la RAM más el tamaño del archivo de paginación menos una pequeña sobrecarga. Sin un archivo de paginación, el límite de confirmación será algo menor que el tamaño de la RAM. El administrador de memoria realiza un seguimiento de la memoria total asignada para garantizar que nunca exceda el límite de confirmación.

Sin un archivo de paginación, el límite de confirmación es un límite estricto que no se puede aumentar mientras el sistema operativo está en ejecución. Con la configuración predeterminada del archivo de paginación, el límite de confirmación no solo es mucho mayor, sino que es un límite flexible que se puede aumentar expandiendo el archivo de paginación cuando sea necesario.

Alcanzar el límite de confirmación en Windows es algo malo. La mayoría de las aplicaciones no afrontan muy bien esta eventualidad y el propio sistema operativo a menudo no puede tolerarlo.

  1. El archivo de paginación optimiza el uso de RAM.

En cualquier momento dado, es probable que una computadora contenga una gran cantidad de datos a los que no se ha accedido durante mucho tiempo y, de hecho, es posible que nunca se acceda a ellos durante la sesión. Por supuesto, el administrador de la memoria no tiene forma de saber qué tan importantes son estos datos, por lo que debe guardarlos en algún lugar.

Almacenar todos estos datos que rara vez se utilizan en una RAM de alta velocidad es un mal uso grave de este valioso recurso. Si la RAM no tuviera esta carga, habría más disponible para uso de aplicaciones y para fines de almacenamiento en caché. El almacenamiento en caché es muy importante en un sistema operativo moderno y contribuye en gran medida al buen rendimiento.

El archivo de paginación proporciona un lugar donde el administrador de memoria puede descargar estos datos que rara vez se utilizan y liberar a la RAM de esta tarea. Es cierto que esto tendrá un coste, pero recuerde que rara vez se utilizan datos, por lo que no debería ser nada grave. Y el administrador de memoria cuenta con numerosas optimizaciones para minimizar este costo.

Pero en lugar de pensar en esto como un costo, considérelo una inversión en rendimiento. Así como hacer inversiones sabias con dinero es algo bueno, el administrador de memoria invierte un poco de tiempo en usar el archivo de paginación con la anticipación de que traerá grandes dividendos más adelante. Suele funcionar.

Esta no es una idea nueva. Se ha utilizado en Windows y Linux durante muchos años y en grandes sistemas informáticos mucho antes. Es un principio probado y verdadero que se ha optimizado a lo largo de décadas.

En pocas palabras, deje que Windows administre el archivo de paginación como desee. Los diseñadores saben lo que están haciendo. Desafortunadamente, Microsoft no ha hecho un buen trabajo al comunicar esto a los usuarios y existen muchas ideas erróneas. Gran parte de lo que se lee en Internet sobre el archivo de paginación contiene al menos errores graves.

información relacionada