¿La advertencia de baja memoria de Windows 8 de 64 bits tiene los mismos límites que en Windows 7 x64? [cerrado]

1

Windows reserva algo de memoria para su uso interno, que normalmente no se asigna a las aplicaciones. Esta reserva se ve más fácilmente si ejecuta sin un archivo de página o limita el archivo de página a un tamaño relativamente pequeño (como 3GB). Windows asignará principalmente RAM hasta el límite, llenará el espacio libre restante en el archivo de página (si corresponde) y emitirá una advertencia de memoria baja cuando no quede espacio en el archivo de página y se exceda el límite de RAM asignado.

El límite parece ser un porcentaje de la RAM total del sistema. El límite de Windows 7 x64 se trata aquí y los métodos para eludir la "advertencia de memoria baja" se discuten aquí .

Deshabilitar la advertencia de memoria baja tiene algunas ventajas: puede usar 600 MB más de RAM en una máquina de 8 GB) Pero hay una seria desventaja: cuando no tiene memoria RAM, los programas se bloquean.

¿Cuánta RAM puede asignar en Windows 8 x64 de 8 GB antes de recibir la advertencia de poca memoria? ¿Es posible ajustar el umbral de advertencia?

Editar : No puedo responder esto yo mismo, ya que se cerró debido a discutir por discutir. Sin embargo, lo respondí aquí: ¿Cuál es el umbral de "advertencia de memoria baja" con ventanas de 16 GB x64?

En resumen, sí, Windows 8.1 x64 se comportará de la misma manera que Windows 7 x64. Si tiene un límite bajo de compromiso: el cargo de compromiso, un porcentaje bastante grande de RAM todavía está disponible si es posible. Esto se hace moviendo más cosas al archivo de paginación.

¿Cuál es el umbral de "advertencia de memoria baja" con ventanas de 16 GB x64?

Barleyman
fuente
55
¿Tiene alguna fuente para este reclamo del 25%? Me parece bastante loco y no he podido encontrar ninguna fuente para respaldar esto usando las palabras clave de búsqueda obvias.
David Schwartz el
@DavidSchwartz: parece referirse a la memoria del sistema, el tipo de RAM que el sistema operativo necesita para ejecutarse . dudo que windows8 renuncie a ram de algo que necesita respirar :)
akira
3
El título me suena tonto. ¿Cómo pueden las aplicaciones utilizar toda la memoria instalada? ¿A dónde iría el sistema operativo?
Karan
La máquina con Windows 7 en la que estoy sentado ahora tiene 8 GB de RAM física y solo 41 MB libres. Entonces, aproximadamente el 99.5% de la RAM se está utilizando en este momento.
David Schwartz el
1
@Barleyman: Esa pregunta fue sobre el caso donde no hay un archivo de página. Windows no puede sobrecargar la RAM física sin un archivo de página. La solución a ese problema es muy simple: necesita un archivo de página de tamaño razonable. De lo contrario, Windows fallaría horriblemente si las aplicaciones ensuciaran las páginas hasta sus límites de confirmación. El problema es que si bien la RAM no está en uso en este momento, Windows ya lo ha prometido a las aplicaciones. Sin un archivo de página para cubrir sus cheques, no puede escribir más. (Los sistemas operativos que no sean Windows tienen este mismo problema. Es inherente a la administración de memoria moderna).
David Schwartz

Respuestas:

13

Este comportamiento es inherente a la gestión moderna de la memoria. Ocurrirá en casi todos los sistemas operativos de memoria virtual modernos si la cantidad de almacenamiento de respaldo disponible (archivo de paginación o espacio de intercambio) no es suficiente en relación con la cantidad de memoria física.

Si observa las aplicaciones modernas en un sistema Windows, puede ver que su conjunto de trabajo (la memoria física que están usando) tenderá a ser un poco menor que su tamaño de confirmación (la memoria virtual que el sistema operativo les ha prometido).

Por ejemplo, en mi máquina Windows de escritorio, el navegador que estoy usando para escribir esta respuesta está usando 207 MB de RAM, pero el sistema operativo ya me ha prometido 280 MB de memoria virtual. Esto significa que en cualquier momento, el navegador puede consumir 280 MB de memoria virtual sin tener que pedirle permiso al sistema operativo, simplemente accediendo a las asignaciones que ya tiene. El sistema operativo necesita proporcionar el proceso con esta memoria, o debe terminarlo forzosamente, sin cumplir con los compromisos que ya ha hecho.

Sin ninguna tienda de respaldo, con solo RAM física, se tendrían que reservar 73 MB de RAM adicional para esta aplicación. Aunque el navegador solo usa 207 MB de RAM, puede aumentar a 280 MB simplemente usando la memoria que ya ha asignado que el sistema operativo aún no le ha asignado (solo reservado).

Si el sistema operativo tiene suficiente reserva de respaldo para todos sus compromisos, entonces puede continuar asumiendo compromisos. Pero no, se ve obligado a tomar una decisión desagradable. Puede decirle a las aplicaciones que no puede hacer más compromisos, a pesar de que hay mucha RAM libre. O puede otorgar compromisos de solicitud, pero luego tiene que terminar por la fuerza las aplicaciones cuando van a utilizar los recursos que ya han asignado.

La solución es simple, configurar un amplio almacén de respaldo. Esto solía no ser un problema. Todos tenían discos gigantes con cientos de gigabytes. Por lo tanto, agregar una tienda de respaldo igual a su memoria física no fue un problema. Sin embargo, recientemente las máquinas con SSD pequeños se están volviendo comunes. Entonces esto se está convirtiendo en un problema nuevamente.

Tenga en cuenta que ni siquiera es necesario tocar el archivo de página para resolver este problema. El sistema operativo solo necesita saber que está disponible en el caso improbable de que se llame a un número significativo de compromisos al mismo tiempo. Esto casi nunca sucede, es como una carrera en el banco de memoria.

David Schwartz
fuente
1
Por supuesto, aumentar el tamaño del archivo de página permitirá que se confirme más memoria, pero no cambiará el umbral de advertencia de memoria baja ni hará que W7 x64 use el último 25% de RAM para las aplicaciones. Tamaño de archivo de página WRT, en HDD 2GB ya es mucho. 3GB es casi inútil si realmente se accede a él. La "cantidad de RAM 1.5x" es una sabiduría antigua de la era WfWG, apenas válida para hoy. El artículo de Mark Russinovich aquí discute eso. Observe también el comentario de Pavel sobre las opciones de diseño de memoria virtual VRT Vista. blogs.technet.com/b/markrussinovich/archive/2008/11/17/…
Barleyman
1
El umbral de advertencia de memoria baja se basa en la memoria virtual disponible. Por lo que añadir más espacio de archivo de paginación se cambia cuando aparece la advertencia de poca memoria. Y, como escribí, el punto no es que Windows realmente use el espacio sino que Windows podrá comprometerlo para evitar una "ejecución en el banco", lo que le permite evitar rechazar asignaciones y hacer un uso más eficiente de la RAM física . Con un almacenamiento de respaldo insuficiente, puede terminar con una gran cantidad de RAM física libre y sin forma de usarlo porque ya está comprometido con aplicaciones que en realidad nunca lo usarán.
David Schwartz el
1
@Barleyman: el sistema operativo se queja de que no tiene memoria cuando aún queda reserva de 3GB porque tiene poca memoria virtual . Esto se debe a que el sistema operativo se comprometió con las aplicaciones que posiblemente deba cumplir en el futuro, incluso si las aplicaciones aún no usan esa memoria. Por ejemplo, si un programa realiza una asignación privada y modificable de todos los archivos de 4 GB, el sistema operativo debe reservar 4 GB de memoria virtual en caso de que la aplicación escriba en cada byte de esa asignación. Sin embargo, aún no se necesita RAM y es posible que la aplicación nunca escriba nada.
David Schwartz el
3
Sinceramente, no entiendo lo que estás diciendo en este momento. No hay RAM que no se utilice (a excepción del grupo de interrupción de emergencia que generalmente es inferior a 100 MB). Sí, el sistema tiene que equilibrar las páginas limpias con las páginas sucias, la memoria de la aplicación con el caché de la página, etc. Y si el sistema tiene un archivo de página insuficiente, es posible que no pueda usar la RAM de manera efectiva. Sin embargo, nada está roto y no hay nada que arreglar. Lo más probable es que lo que está viendo es la memoria utilizada como caché de página limpia. No quieres reducir eso o obtienes muchas fallas de página difíciles.
David Schwartz el
1
@Barleyman Quizás esta analogía ayude: tiene mucho dinero en el banco (RAM), pero también tiene un montón de cheques que aún no se han cobrado (asignación de memoria virtual). A pesar de que tiene mucho dinero sentado en el banco sin hacer nada (RAM libre), no puede escribir más cheques (permitir mapeos que podrían requerir una reserva de respaldo en el futuro) sin arriesgarse a rechazar un cheque (tener que rescindir forzosamente una solicitud en el futuro).
David Schwartz
6

De los límites de memoria para las versiones de Windows :

1
2
3

4 4
(Consulte la tabla completa para obtener más detalles sobre los límites de espacio de direcciones virtuales en modo kernel y usuario, etc.)

Ese bit resaltado en rojo es probablemente de donde sacaste esa idea de un límite del 25%. Sí, solo ~ 3 GB de RAM de 4 GB instalados están disponibles para procesos de 32 bits en versiones de 32 bits de Windows, y esto no ha cambiado mágicamente con Windows 8. En cuanto a por qué esto es así, no voy a molestarse en repetir todos los artículos en Internet que ya lo han explicado en detalle, incluido Jeff Atwood's Dude, Where's My 4 Gigabytes of RAM?

Karan
fuente
technet.microsoft.com/en-us/sysinternals/ff700229 buena herramienta para ver cómo se usa la RAM.
akira el
Estos son límites específicos para 3GB / 4GB. Su pregunta era claramente sobre un límite del 25% que se escala con la cantidad de RAM que tiene. Entonces, esto no puede ser lo que estaba preguntando el OP. "Eso estuvo bien cuando Vista fue diseñado, cuando las máquinas tenían 1 GB de memoria total, pero es bastante tonto para las máquinas actuales de 8 GB".
David Schwartz
@DavidSchwartz: Entonces necesita especificar de dónde obtuvo esta información. de, como usted mismo declaró anteriormente. Es completamente posible que leyera algo y luego lo extrapolara sin pruebas contundentes sobre el límite en máquinas modernas con montones de RAM.
Karan
Estoy de acuerdo. Solo podemos adivinar lo que estaba pensando el OP. No hay un límite del 25%. Existen límites de memoria virtual que se aplican a procesos de 32 bits y límites de memoria física que se aplican a sistemas operativos de 32 bits. (Y el otro, más difícil de alcanzar, los límites en la tabla de arriba.)
David Schwartz
@DavidSchwartz: Sí, la única explicación razonable que se me ocurrió para ese número fue la parte resaltada arriba. ~ 1 GB inutilizable de 4 podría implicar que hay algún tipo de límite codificado del 25% para alguien que no conoce el motivo.
Karan