it-swarm-es.com

¿Debo deshabilitar el archivo de intercambio si tengo un montón de RAM o debería moverlo a un virtual RAM ¿conducir?

Imagina que tengo toneladas de memoria RAM. Digamos 64GB. Eso es mucho incluso para PCs de juego. Ahora, la ubicación predeterminada de un archivo de paginación en Windows está en la unidad principal del sistema operativo, ya sea HDD o SSD, que son más rápidos en general, pero aún no tan rápidos como la RAM.

Algo me dice que deshabilitar el archivo de paginación en el disco duro o crear una unidad virtual RAM y dejar que el archivo de paginación esté allí podría hacer que Windows mueva toda su memoria virtual a la RAM, y así aumentar el rendimiento del sistema, pero No tengo mucho conocimiento en esa área, por lo que podría no ser del todo cierto.

Intenté ambos, pero no pude analizar los resultados para llegar a una conclusión definitiva con mi nivel de conocimiento en la memoria.

¿Funcionaría esto? Si no, ¿por qué?

95
user1306322

No importa cuánto RAM tengas, quieres que el sistema pueda usarlo de manera eficiente. No tener ningún archivo de paginación obliga al sistema operativo a usar RAM de manera ineficiente por dos razones. En primer lugar, no puede hacer que las páginas sean desechables, incluso si no se ha accedido o modificado en mucho tiempo, lo que obliga a que la memoria caché del disco sea más pequeña. En segundo lugar, tiene que reservar RAM para respaldar las asignaciones que es muy poco probable que lo requieran (por ejemplo, una asignación de archivos privada y modificable), lo que lleva a un caso en el que puede tener un montón de física gratis.RAM y, sin embargo, las asignaciones se rechazan para evitar el compromiso excesivo.

Considere, por ejemplo, si un programa realiza una asignación de memoria privada y de escritura de un archivo de 4GB. El sistema operativo tiene que reservar 4 GB de RAM para este mapeo, porque el programa podría modificar cada byte y no hay lugar sino RAM para almacenarlo. Entonces, inmediatamente, se pierden 4GB de RAM (se puede usar para guardar en caché las páginas de disco limpias, pero eso es todo).

Debe tener un archivo de página si desea obtener el máximo rendimiento de su RAM, incluso si nunca se utiliza. Actúa como una póliza de seguro que le permite al sistema operativo utilizar realmente el RAM, en lugar de tener que reservarlo para posibilidades que son extraordinariamente improbables.

Las personas que diseñaron el comportamiento de su sistema operativo no son tontos. Tener un archivo de paginación le da al sistema operativo más opciones, y no hará que sean malas.

No tiene sentido intentar colocar un archivo de paginación en la memoria RAM. Y si tiene una gran cantidad de RAM, es muy poco probable que se use el archivo de paginación (solo necesita estar allí), por lo que no importa en particular la rapidez con la que se encuentre el dispositivo.

133
David Schwartz

Eres completamente correcto en tu suposición.

Los algoritmos de administración de la memoria son muy complejos y, por cualquier medio, no son perfectos Así que el intercambio se produce incluso cuando hay un montón de RAM de repuesto. En algunos sistemas, como Linux, puede controlar swappiness , en otros no puede. Al intercambiar datos cuando todavía hay un montón de RAM, el sistema a su manera se prepara para la situación en la que podría quedarse sin RAM.

Por lo tanto, la desactivación de la funcionalidad de intercambio podría brindarle una mejora en el rendimiento, ya que solo usará RAM, que es más rápido como ya ha dicho.

Una cosa a considerar (y usted ya lo mencionó): necesita tener suficiente RAM para acomodar todos los programas que está ejecutando, de lo contrario, corre el riesgo de ejecutar sin memoria . En este caso, el rendimiento disminuirá, algunos procesos pueden ser terminados por el sistema operativo y el sistema puede experimentar un bloqueo/congelación. (Lea más sobre esto aquí )

En algunas máquinas, especialmente las que guardan el archivo de intercambio en HDD y no en SSD, el efecto de deshabilitar el intercambio es muy notable. En otros no es tan obvio. Pero incluso si no obtiene una mejora obvia, piénselo de otra manera, al desactivar el intercambio, se ahorrará espacio en el disco en su SSD.

Al deshabilitar el intercambio, también evitará que los algoritmos de memoria realicen operaciones innecesarias (mover datos de RAM al intercambio y viceversa), en caso de SSD, esto evitará un desgaste excesivo. Y en cualquier caso, esto mejorará el rendimiento al eliminar operaciones innecesarias.

También, lea:

31
Art Gertner

¿Se puede desactivar el archivo de paginación de forma segura?

Si se queda sin memoria libre, incluida la memoria virtual, el sistema no puede continuar garantizando la ejecución determinista y finaliza solo. Antes de que eso suceda, el sistema operativo hará varias otras cosas, como matar programas que usan demasiada memoria. Lo que quiero decir es que la memoria siempre es finita, y todos los sistemas operativos pueden lidiar con esto. Por lo tanto, limitar la memoria disponible total a 64 GB no dañará a Windows. Muchos sistemas no pueden ir más allá de 8 GB incluso con un archivo de paginación, porque con 1 o 2 GB RAM el archivo de paginación suele ser mucho más pequeño que 6 o 7 GB. Debe tenerse en cuenta que mientras tenga una cantidad excesiva de RAM no utilizada, la sobrecarga del OS que mantiene un archivo de paginación no será medible.

¿Tiene sentido poner el archivo de paginación en un disco RAM?

Para aumentar la memoria disponible, la mayoría, si no todos los sistemas operativos avanzados, utilizan algún tipo de archivo de intercambio en el que toman parte de la memoria que está en RAM y no se ha accedido durante un tiempo, escriba la memoria en el disco duro ( swapfile aka pagefile ), y elimine la memoria de RAM para que haya más memoria disponible. El archivo de intercambio se utiliza para ampliar el tamaño máximo de la memoria más allá del tamaño de la memoria RAM disponible.

Por lo tanto, el uso de un ramdisk (que reduce la memoria disponible por el tamaño del ramdisk) para alojar el archivo de intercambio (que aumenta la memoria disponible por el tamaño del swapfile) funcionará, pero no tendrá mucho sentido. No ofrecerá más memoria que la desactivación del archivo de paginación, pero aún requerirá que el sistema ejecute algoritmos de paginación.

14
Peter

Para reiterar lo que otros han dicho, mover el swap a un disco de RAM no tiene ningún sentido (en el caso más común, consulte más abajo). Se logra que en cierto punto, cuando el sistema carece de memoria libre, algunos datos se mueven de RAM a RAM de una manera bastante ineficiente.

Al intercambiar HDD/SSD, el sistema operativo puede borrar algunas _ RAM páginas sin usar y usar el espacio liberado para, por ejemplo, caché de archivos u otros buffers del sistema. Es posible que no se dé cuenta de que el sistema asigna menos de estos RAM buffers porque no tiene memoria virtual disponible sin un archivo de página; por lo tanto, en efecto, podría estar retrasando su rendimiento al deshabilitar el intercambio.

Sin embargo, un _ _ comprimidoRAM disco como unidad de intercambio, una unidad "ZSWAP", puede ser beneficioso en casos Edge (donde es posible que solo necesite unos pocos MB adicionales RAM para evitar el intercambio a HDD) al mejorar la eficiencia de espacio de un segmento de RAM en cierta medida.

8
demonkoryu

Si no tiene un archivo de página, en el caso de un BSOD (bloqueo), Windows no podrá escribir el archivo de volcado de bloqueo. Esto significa que no podrá analizar el problema utilizando las herramientas adecuadas.

Tener el archivo de página en RAM es casi inútil, ya que puede perderse en el bloqueo.

Para obtener más información, consulte el artículo de Microsoft Descripción de los archivos de volcado de caída .

5
harrymc

Para Windows, desde la boca de los caballos:

Algunos sienten que no tener un archivo de paginación da como resultado un mejor rendimiento, pero en general, tener un archivo de paginación significa que Windows puede escribir páginas en la lista modificada (que representan páginas a las que no se accede de manera activa pero que no se han guardado en el disco) archivo de paginación, lo que hace que la memoria esté disponible para fines más útiles (procesos o caché de archivos). Por lo tanto, aunque puede haber algunas cargas de trabajo que funcionan mejor sin un archivo de paginación, en general, tener una significa que habrá más memoria utilizable * disponible para el sistema (no importa que Windows no pueda escribir volcados de memoria del kernel sin un archivo de paginación) lo suficientemente grande como para sostenerlos).

https://blogs.technet.Microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • memoria utilizable: por lo tanto, aunque esto recomienda tener memoria virtual, también sugiere que necesita cantidades realmente grandes de RAM para asegurarse de que no tendrá ningún archivo de página/memoria virtual. Tengo 4GB RAM 128GB SSD sin archivo de página, pero lo uso para navegar por la web y escribir documentos de Word.
4
user127379

No deshabilite el archivo de intercambio No es solo para cuando se queda sin memoria. No hay una ganancia de rendimiento directa en apagarlo , windows solo lee de él cuando lo necesita, lo escribe todo el tiempo para que esté listo cuando sea necesario.

Puede reducirlo a aproximadamente 2/3 del tamaño de la memoria si tiene más de alrededor de 4 GB, ya que almacena la imagen de la memoria comprimida. Puede colocarlo en su disco duro más lento al que no tenga acceso otro disco pesado si no tiene espacio en un SSD. Pero es beneficioso tener uno en alguna parte.

Ver esta respuesta para más información sobre por qué. https://superuser.com/a/286476/4236

3
JamesRyan

En teoría, colocar el archivo de paginación en RAM no debería tener ningún sentido en absoluto, porque simplemente está agotando lo que supuestamente gana, y Windows se basa en el supuesto de que el archivo de paginación no se usará para tales propósitos .

Sin embargo, en la práctica, el diseño y la filosofía defectuosos pueden llegar incluso al núcleo de Windows, y la gestión de la memoria de Microsoft no es necesariamente perfecta. Muchos han descubierto que poner el archivo de paginación en un disco RAM produce un aumento de rendimiento, siempre y cuando tengas una cantidad decente de memoria.

Compilé una publicación que muestra una colección de dichos usuarios de un hilo de single foro que han encontrado que a pesar de tener grandes cantidades de RAM gratis, el archivo de paginación aún se está utilizando:

http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589

3
Dan W

Convertir un sistema operativo que fue diseñado en su núcleo para no usar el intercambio es mucho más difícil de lo que parece.

Los Mac modernos tienen una partición de recuperación, parte de la unidad principal con un sistema operativo simplificado que puede reparar o restaurar el sistema principal. En los días en que los instaladores de DVD ejecutaron un proceso personalizado, el sistema ahora crea un disco RAM para la partición de intercambio, ya que no se puede garantizar que un instalador tenga espacio disponible en el disco. El sistema operativo incluye los marcos necesarios para ejecutar el software de mantenimiento incluido, que es idéntico a las utilidades disponibles después de la instalación. Mucho menos trabajo para todos.

Limitar el sistema a una aplicación a la vez significa que, básicamente, el ramdisk-swap nunca se usa, pero el sistema operativo espera que esté allí.

2
peter

Si tiene suficiente memoria, la respuesta sería sí, puede desactivar el intercambio. Swap se creó para superar las limitaciones de RAM y hacer que su uso sea más eficiente.

La pregunta ahora es cuánto RAM es suficiente RAM? No hay una respuesta universal para esto y, por naturaleza, los sistemas tienen hambre en la memoria. Por lo tanto, ya menos que esté ejecutando en un entorno muy específico y controlado, no desactive el intercambio.

Cualquier otro tipo de truco como poner swap en RAM solo creará una capa extra de complejidad y gastará memoria que, de lo contrario, podría usarse directamente.

2
nsn

Mover el archivo de paginación a RAM es una noción ridícula. Apáguelo y con más RAM. :)

No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.

Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).

La administración de la memoria es manejada por la CPU y si el archivo de paginación está activado o desactivado no hace una diferencia de cómo se tratan las páginas. Es transparente para Windows.

La prioridad de la página no cambia, las páginas se descartarán igual. Los archivos de paginación son utilizados por la CPU como almacenamiento secundario, no como sistema operativo. No es nada más que el nivel dos de la memoria caché cuando el nivel uno (RAM) se agota.

Un ejemplo rápido y muy sucio: mi máquina tiene 16 GB de RAM y ningún archivo de paginación. Hace 5 minutos, con 13 GB en espera y solo 2 GB libres, cargué Fallout 4. Las páginas de baja prioridad se descartaron mientras se cargaba Fallout.

Por cierto, en una nota lateral, el Technet Blog 2008 sobre el Impulso de los Límites de Memoria de Windows es muy engañoso, diría hasta el punto del engaño. https://i.stack.imgur.com/wXkmi.png También tengo dudas de si Mark lo escribió, pero espero que no, ya que cambiaría mi perspectiva de él ...

Fwiw hay agujeros vacíos en el artículo que me han sorprendido, nadie ha optado por considerar la frecuencia con la que se ha referido ese blog.

  • Windows maneja el archivo de paginación y su ubicación, la CPU atrapa el acceso de la memoria a las ubicaciones que se han enviado al disco, pero se entrega al sistema operativo para recuperar la página del disco y cargarla.

De todos modos aquí hay una descripción no tan vaga:

Windows no puede alcanzar direcciones más altas que la CPU, no es posible.

No importa de lo que sea capaz el sistema operativo, todavía está limitado por el hardware con el que se ejecuta ... porque el sistema operativo es en realidad la propia CPU (registros internos).

De acuerdo, entonces el archivo de paginación es un área en el disco duro que la CPU usa para el espacio físico de direcciones extendido cuando no puede usar más RAM física o arquitectónicamente.

En la arquitectura de 32 bits x86 segmentada, por ejemplo, hay dos segmentos de RAM de 2 GB.

Uno está asignado al núcleo. Los otros 2GB son para modo usuario. Eso es todo elRAMla CPU puede usar con 32 pines DRAM, pero un proceso de 32 bits tiene 4GB disponibles, así que qué hacer. Bueno, afortunadamente, la CPU puede utilizar el almacenamiento secundario, también conocido como el disco duro para almacenar los 2GB adicionales de páginas. Porque tiene registros internos.
Las ubicaciones físicas donde las páginas virtuales a las que hace referencia el proceso no tienen que almacenarse en la RAM. Pero tienen que estar almacenados en algún lugar por la CPU.

La CPU no puede entregar todos los 4GB RAM a la aplicación, pero can darle 4GB de dirección usando el HDD como caché secundario (que es todo lo que realmente es el HDD)

Las páginas se mueven dentro y fuera de RAM a través de su mecanismo de paginación interno, pero esto no es lo mismo que un archivo de paginación. La paginación siempre ocurre ...

La conclusión no es realmente tan complicada. Durante los últimos 15 años aproximadamente, muchos usuarios finales han tenido la impresión de que un archivo de paginación es una parte integral del sistema operativo, pero no lo es. Nunca lo ha sido. Este concepto erróneo es en parte alimentado por empresas como Intel y Microsoft.

La RAM es un dispositivo de almacenamiento rápido, el disco duro es un dispositivo de almacenamiento más lento, por lo que esencialmente RAM es el caché de nivel 1, el disco duro es el nivel 2 (sin tener en cuenta el caché de la CPU para esta analogía). Ambos pueden ser accedidos por la CPU.

Si no hay suficiente RAM para que la CPU almacene las páginas que necesita, el HDD se puede usar como un desbordamiento. Si hay suficiente RAM, entonces el PF es redundante.

Hasta el Core 2, los procesadores Intel tenían un bus DRAM de 32 pines, y 32 registros significaban que la CPU tenía acceso a 4 GB de RAM y 4 GB de espacio en el disco duro (archivo de página). Esta es una limitación de hardware de arquitectura, no una limitación de Windows.

El total disponible para los procesos fue de 3.5GB, porque una tabla de páginas ocupa 512MB. Por eso se muestran 3.5 GB en Windows con CPU Intel (hasta el Core 2). Agregue una GPU y menos aún está disponible.

Xeon pudo acceder a un total de 32 GB de RAM, 64 GB de espacio físico con disco duro incluido (archivo de página nuevamente). (Esto ^ cubre PAE, -más a venir con enlaces agregados).

 enter image description here http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html

 enter image description here

 enter image description here

Fuente de la tercera captura de pantalla: Interfaz binaria de aplicaciones del sistema AMD64 Procesador de arquitectura Suplemento Borrador Versión 0.99.7

Tengo la intención de continuar mejorando esta respuesta y agregando material de origen e información relevante. Me gustaría lograr un equilibrio entre la información insuficiente y demasiada información técnica. Las sugerencias son bienvenidas. Por favor, no decida votar solo porque no puede estar bien escrito.

1
Robert Fischer

Mi sistema tiene 24 GB de RAM, por este motivo, deshabilité el archivo de paginación para evitar el desgaste de mi SSD sin problemas. Recientemente creé un RAM Disco, usando 4GB de mi memoria para almacenar archivos de Google Chrome Cache, solo para ver si aumentaría el rendimiento de los juegos en línea de Flash Player y la navegación web general. He visto un marcado aumento en el rendimiento de este experimento. Como tenía más espacio disponible en mi RAM Disco, habilité mi archivo de paginación y establecí tanto el tamaño mínimo y máximo en 1GB, y lo moví al RAM Disco. Aunque no puedo decir que hubo un aumento de rendimiento, mi sistema parece estar ejecutándose de manera más estable.

1
Michael