¿Qué hay de malo en deshabilitar el archivo de página de Windows?

15

La gente dice que siempre necesitas un archivo de página y que aumentará el rendimiento, pero mi Windows 7 está configurado para ejecutarse sin un archivo de página. Simplemente no entiendo por qué la gente dice esto: tengo 6 GiB de RAM, y la única vez que estuve cerca de quedarme sin RAM fue cuando estaba compilando Chromium, para lo cual habilité temporalmente un archivo de página.

¿Realmente necesito un archivo de página * para aumentar la velocidad en situaciones típicas? ¿Por qué?

* Soy consciente de que los volcados por caída necesitan un archivo de página. Sin embargo, nunca uso volcados de memoria, así que eso no importa.

usuario541686
fuente

Respuestas:

8

Un archivo de paginación nunca aumentará el rendimiento, pero tampoco necesariamente lo degrada (con una gestión de memoria adecuada). Sin embargo, la ejecución sin un archivo de paginación solo tenderá a aumentar la inestabilidad de su sistema con respecto a las aplicaciones que solicitan memoria que no está disponible para su uso.

A menos que su sistema operativo sea particularmente malo en la gestión de la memoria, un archivo de paginación con 6GiB de memoria debería ser de poca utilidad. Eso no quiere decir que no tendrá ningún uso en absoluto; IIRC MS Windows es un poco loco cuando se trata de paginar las cosas incluso cuando hay mucha memoria disponible. (Por qué, nunca lo sabré)

Sin embargo, lo que sucede cuando no tiene el archivo de paginación en uso puede ser motivo suficiente para habilitarlo: bloqueos duros. La mayoría de las aplicaciones esperan recibir la memoria que solicitan. Cuando no lo hacen, se estrellan. (Ah, pero los viejos tiempos de tener que vivir en unos pocos miles de bytes se han ido ..., y para demasiados desarrolladores, también lo ha hecho la práctica de manejar la administración de memoria).

Si una aplicación está construida correctamente, fallará muy bien. (Con suerte, no fallará en absoluto. Pero no cuente con eso). Con la mayoría de las aplicaciones, tendrá un fracaso fantástico en sus manos. Además, cuantas más aplicaciones tenga cerca de ese límite, más probabilidades tendrá de ver inestabilidad en todo el sistema.

Caso de mi propia experiencia. Windows XP, 4GiB, sin archivo de página. Perf fue genial. Hasta que comenzamos a acercarnos al límite de 4GiB. Luego las cosas se volvieron locas: las aplicaciones se bloquearon, los elementos del menú aparecerían solo parcialmente (o no aparecieron en absoluto), los botones no harían nada, etc. Volví al archivo de la página, a pesar de que el rendimiento era peor con él: la estabilidad general era simplemente mejor y más importante

Ahora, tal vez no use ninguna aplicación o trabaje en sus aplicaciones que empujarían 6GiB, pero puedo pensar en algunas situaciones en las que podría acercarse: edición de video, edición de fotografía, mezcla y producción de audio, etc. esencialmente cualquier cosa en la que esté tratando con una gran cantidad de datos (ya sea trabajando o transmitiendo). Cuando esos datos excedan sus capacidades de memoria, habrá muchas posibilidades de que su aplicación se vuelva "falsa".

Kerri Shotts
fuente
Entonces, simplemente (Sí / No): ¿es correcto decir que, si nunca uso más de 2 GiB de RAM , no veré un aumento en el rendimiento ? ¿O todavía hay una advertencia en alguna parte, incluso con esa condición previa?
user541686
99
No, un archivo de página nunca mejora el rendimiento. Solo mejora la estabilidad . La paginación, por definición, es una operación a nivel de disco, y las operaciones de disco siempre son más lentas que las operaciones a nivel de RAM. Y es más probable que no, incluso con 6GiB (que nunca exceda los 2GiB), experimente algunos problemas de rendimiento, ya que Windows todavía, frustrantemente, paginará los procesos no utilizados en el disco. Quien pensó que era sabio, ¡me gustaría que 'confiesen!'
Kerri Shotts
Bueno. Tal vez sea porque es lo que quería escuchar, no lo sé, pero me gusta tu respuesta. : P Suena bastante razonable, gracias!
user541686
1
No es cierto: un archivo de paginación PUEDE mejorar el rendimiento, porque el lugar de los datos no utilizados en el intercambio se puede utilizar para el almacenamiento en caché. Esto causó un voto negativo para ti.
peterh - Restablece a Mónica el
1
El archivo de página PUEDE mejorar el rendimiento. Aumenta la RAM disponible para todo tipo de cachés rápidos mejorando el rendimiento de inicio / carga / operación del programa. Sin el archivo de página, esa preciosa RAM física estaría llena de basura inamovible.
Ark-kun
7

Este artículo de Mark Russinovich le dirá todo lo que siempre quiso saber sobre el archivo de la página.

No sé si "caché" es el término apropiado para usar con respecto a lo que hace el archivo de página. Un caché es un punto de almacenamiento temporal de acceso rápido para datos. Un sistema operativo "falla" al archivo de la página cuando hay demasiada contención para la RAM física. Por lo tanto, es un recurso provisional para el desbordamiento de RAM para evitar que los programas se bloqueen debido a la falta de memoria. Pero sí creo que Windows intenta poner cosas a las que no se ha accedido durante un tiempo en el archivo de página (y Linux también podría hacer esto), por lo que en ese sentido es un caché, pero no es realmente su función principal.

De todos modos, lea el artículo. Le dará buenas pautas sobre cómo configurar su archivo de página. Como dice @Sandeep Bansal, puede haber juegos ocasionales que requieran que tengas uno como parte de una "verificación de requisitos" para poder ejecutarlo (pero no sé de ninguno).

EDITAR: Este ejemplo puede ayudarlo a comprender la función del archivo de página:

Digamos que tienes 512 MB de RAM. Tiene varios programas abiertos, incluido un navegador minimizado que consume 250 MB de RAM, y el uso total de RAM de todo lo que se ejecuta en ese momento es de 500 MB.

Entonces, inicia otro programa (por ejemplo, un procesador de texto) que desea asignar 150 MB de RAM. Sin memoria. Sin embargo, si tenemos un sistema de paginación, las páginas de memoria que contienen su navegador minimizado se pueden paginar en el disco. Entonces, el nuevo programa puede cargarse.

Ahora, digamos que desea volver al navegador después de un tiempo. Bueno, necesita "paginar" lo que acaba de enviar al disco. Si hay suficiente RAM libre en ese momento, puede hacerlo sin ningún problema. Si no lo hay, primero debe buscarse algo más. Si hay muchos programas compitiendo por la CPU y hay una paginación constante, entonces las cosas se vuelven lentas y tienes la condición conocida como "paliza". Toda esta paginación de entrada y salida causa un rendimiento más lento, pero evita que los programas se bloqueen "duro" debido a errores de falta de memoria. Ese es el propósito del archivo de paginación. Demasiada paginación, es decir, "paliza" probablemente no sea mejor que un programa que simplemente se da por vencido porque no puede obtener más RAM la mayor parte del tiempo.

Ahora, puede ver cómo si existen algoritmos para anticipar lo que podría no estar siendo usado en un momento dado, entonces el sistema operativo puede "pre-paginar" cosas que no cree que se usarán de inmediato. Entonces, esto explica que Windows use el archivo de página donde existe, incluso si tiene suficiente RAM. Está tratando de hacer tanta RAM disponible como sea posible. Windows es como Linux, donde la RAM libre actúa como un caché de disco, por lo que si el acto de equilibrio se juega correctamente, puede contribuir al rendimiento general. Todo esto es parte del diseño del sistema operativo y por eso se necesitan 10 años para obtener un buen sistema operativo de miles de programadores.

Entonces, para responder realmente a su pregunta también, eso es lo único incorrecto al deshabilitar el archivo de página. Volviendo al ejemplo que proporcioné, sin el archivo de página simplemente no podría iniciar su navegador, o los programas mal escritos que no están programados defensivamente para anticipar errores OOM podrían actuar realmente extraño.

LawrenceC
fuente
@ultrasawblade: Todavía no entiendo: el objetivo de cualquier tipo de "caché" es evitar un viaje al disco . Si vas a ir de todos modos, ¿por qué no agarras el archivo desde donde se encuentre? ¿Cuál es el punto del archivo de página?
user541686
@ultrasawblade: También, en relación con el artículo: Dice in general having [a page file] will mean more usable memory being available to the system. ¿Esperar lo? ¿Más memoria disponible? ¿> 3 GiB de espacio RAM permanentemente no utilizado no es suficiente? (Confundido, ya que rara vez uso más de 2 GiB.)
user541686
2
¡Los archivos de la página NO son caché! Si su ram se llena y todavía quiere asegurarse de que todavía parece que su sistema tiene más ram disponible, entonces comenzará a copiar datos de ram a su disco (de procesos que parecen estar inactivos) para que todavía tenga ram disponible para sus nuevos procesos!
devorado elysium
2
@ultrasawblade: La objeción que tengo contra su edición es que su ejemplo especifica un uso de RAM del 97% (500/512), mientras que mi ejemplo especifica un uso de RAM del 33% (2 GB de 6). Estaba no preguntando sobre lo que ocurre si consigo cerca del límite; Ya estoy al tanto de los problemas que eso causa. Estaba preguntando qué sucede si todavía tienes un largo camino por recorrer, donde no se produciría una paliza ni nada por el estilo. Si puede hacer el mismo argumento para mi caso (6 GiB RAM y 2 GiB en uso), eso sería mucho mejor; de lo contrario, simplemente no responde a mi pregunta.
user541686
3
+1 para el enlace de Russinovitch. Ahí está la respuesta. Si desea renunciar a un mecanismo de seguridad para evitar posibles accidentes, esa es su perogativa. Windows funcionará bien sin el archivo de página, a menos que decida no hacerlo. ;)
Kara Marfia
2

Un archivo de página no es solo para almacenar volcados de memoria, sino que no está hecho para eso.

El archivo de página existe para que pueda almacenar datos que la RAM no necesita contener, es como un caché para los elementos que no necesitan existir en la memoria, lo que proporciona más RAM para otras cosas.

Tienes razón en que es posible que no necesites un archivo de página si tienes 6 GB de RAM, pero es posible que necesites un archivo de página para ciertos elementos, recuerdo que algunos juegos requieren un archivo de página y también puede ser útil si lo hay.

No hay nada malo en crear un archivo de página de 500 MB solo para evitar problemas si un determinado proceso lo necesita.

Sandeep Bansal
fuente
Pero mi pregunta es: digamos que nunca uso más de 2 GiB de RAM. ¿Activar el archivo de paginación me da un aumento de velocidad de todos modos? ("No duele" es diferente de "Sí, te da un beneficio".)
user541686
Bueno, con 6GB de RAM no notarás nada, aunque hay RAM disponible, el Pagefile siempre se usará para otras cosas. Tengo 4GB, nunca realmente supero eso. Pero tengo un archivo de paginación de 1GB por si acaso, como las PC de todos los días tienen 500GB + espacio en disco duro ahora, por lo que al menos 500-1000MB no será una pérdida
Sandeep Bansal
@Sandeep: Hm ... ¿qué son exactamente esas "otras cosas"? La razón por la que no enciendo el archivo de página es porque no entiendo por qué Windows usaría el disco duro cuando hay tanta RAM libre, así que tengo curiosidad por saber cuáles son esas "otras cosas".
user541686
Es lo mismo que Linux, ¿por qué Linux usa el espacio de intercambio cuando tiene RAM para acceder? El archivo de paginación contiene archivos que no se han utilizado durante un período de tiempo alejado de la RAM.
Sandeep Bansal
@Sandeep: No tengo idea de por qué Linux lo hace tampoco, la misma diferencia para mí. Sin embargo, ¿qué sentido tiene guardar archivos en el archivo de paginación? Si no están en la RAM, ¿por qué no simplemente leerlos desde donde se encuentren realmente en el disco?
user541686
1

El primer paso es comprender qué es un caché, o mejor dicho, para qué se utilizan los diferentes cachés.
La CPU tiene una pequeña memoria caché interna que le permite almacenar resultados de OP, estados de indicador y direcciones calculadas. En un núcleo dual, creo que el caché interno es de aproximadamente 1 MB. Es extremadamente rápido, solo accesible desde el interior de la CPU, y el más afectado por el calor en una CPU overclockeada.

El caché de nivel 2 actúa como un búfer de alta velocidad para transacciones de CPU a memoria y también contiene hilos de código recopilados por captación previa. En un núcleo dual, creo que una instalación típica tendría 6 MB de caché lvl2. Es muy rápido, aunque más lento que la memoria caché interna, solo es accesible para el controlador de memoria y la CPU, y reside en una línea dedicada en el bus.

Un archivo de página es de hecho un caché, ya que almacena datos que pueden o no estar presentes en la memoria. Un O / S puede usar el archivo de paginación para diversas tareas, una de las cuales es guardar el estado actual de un archivo de datos que aún no se ha confirmado en el disco. Cuando no existe un archivo de paginación, corresponde a la aplicación de terceros proporcionar esta funcionalidad internamente. El problema con este escenario es que muchos programas no se comportan bien cuando se trata de recolección de basura, y te quedan archivos falsos .temp en tu disco. Estos restos no son parte del manifiesto de instalación y pueden dificultar un procedimiento de desinstalación y también degradar la velocidad de acceso al disco.

Mi opinión es que normalmente es bueno tener un archivo de intercambio. De hecho, si su sistema está altamente poblado con Ram y está dedicado a 1 tarea específica, y esa aplicación se ocupa de todas estas cosas, entonces puede que no sea necesario un archivo de intercambio. Un ejemplo puede ser un videojuego Arcade que se ejecuta en la plataforma de Windows, estos generalmente se instalan solo con los controladores necesarios para los dispositivos presentes y no es probable que sufran la contención del controlador. Sin embargo, en su mayor parte, la mayoría de las aplicaciones no se ocupan de todos los problemas potenciales que podrían surgir y especialmente aquellos que incluyen el impacto de otras aplicaciones de terceros y la contención del controlador.

Aunque puede notar una disminución de bajo a moderado en el rendimiento a corto plazo de agregar un archivo de paginación, a largo plazo el rendimiento debe permanecer constante. No tener un archivo de paginación puede parecer más rápido al principio, pero con el tiempo el rendimiento se degradará considerablemente.

Steven Malm, MCP.

Steven Malm
fuente
"Cuando no existe un archivo de paginación, corresponde a la aplicación de terceros proporcionar esta funcionalidad internamente". -> No estoy muy seguro de lo que quieres decir; a los programas realmente no les importa si hay un archivo de página allí o no.
user541686
0

Experiencia personal

En este momento, mi computadora portátil con 8 GB de RAM tiene problemas para evitar la creación / uso del archivo de página. Mi vida es el infierno Constantemente recibo mensajes de "memoria baja", fallas en las aplicaciones, etc. Usar 3 programas que consumen 1-1.5 GB cada uno (por ejemplo, navegador web, Visual Studio con complementos especiales, etc.) es caminar sobre hielo delgado.

Otro argumento

Usar datos de la memoria caché de RAM física es muy rápido. Cuanta más RAM física "libre" tenga, mayor caché puede contener. Cuantos más datos latentes pueda mover el sistema operativo de la RAM física al archivo de página, más RAM física se liberará para los cachés de datos a los que se accede con frecuencia.

Supongamos que juegas un juego que carga los datos de ubicación cuando cambias de ubicación. También tiene un navegador web en ejecución que deja, digamos 2GB al juego, que es suficiente para una sola ubicación. Sin un archivo de página, cada vez que cambie de ubicación, los datos se cargarán lentamente desde el HDD. Con un archivo de página, los datos de su navegador web no utilizados se enviarán al archivo de página, y la preciosa RAM física se usará para almacenar los datos de varias ubicaciones, lo que resultará en una carga de ubicación mucho más rápida.

Ark-kun
fuente