sábado, 5 de febrero de 2022

Pantallazo azul BSOD en Wreckfest, y Windows 11

 Hola de nuevo.


Hace poco Windows 10 me sugirió actualizar a Win 11. Le dije que sí. 


Todos los juegos y programas aparecen en la pantalla de inicio, Windows parece que incluso arranca más rápido que Win10, así que todo bien en un principio. 

También recientemente he descubierto Wreckfest, un juego de coches y destruction derby + carreras que me encanta. 


Pero de repente al jugar o después de terminar una carrera, el juego provocaba un fallo de windows con mensaje "PAGE FAULT IN NONPAGED AREA"


En mi caso tengo un equipo con un Ryzen 5700G y 16Gb de Ram @3600. Por si caso le pasé un memtest completo, que no descubrió errores. Menos mal, descartamos fallo de memoria. 


QUE ES MEMORIA PAGINADA 

un truco de windows de la época de Win 3.1, que destina un archivo grande  disco duro para que simule ser memoria, y guardar cosas cuando se queda sin memoria RAM física que usar. Cuando los PC tenía 1 o 2Gb de ram, en seguida se quedaban sin memoria para ejecutar programas, así que esta era una solución barata. El problema es el rendimiento. Acceder a la memoria RAM se mide en nanosegundos. El acceso a cualquier cosa en un disco duro se mide en milisegundos. Ya tenemos una reducción de rendimiento en orden de millar de veces.  

EXPLICACIÓN DEL ERROR

El error Page fault indica que Windows guardó algo en la memoria paginada, y cuando va a recuperarlo, no está o no es correcto, por lo que se cuelga, y Windows se protege con un pantallazo de error grave. 

Supuse, erróneamente, que con 16 Gb, no se necesita memoria paginada, porque todo puede estar dentro de la RAM (los programas y lo que necesiten), así que desactivé esa función. 

Dejé de tener pantallazos azules con el Wreckfest, pero sin embargo, se cerraba sólo al iniciar carreras o campeonatos en red. Llegué a ver una ventana de memory error. Es decir, que aunque tenga suficiente RAM, el programa quiere hacer uso de ese tipo de memoria. 


SOLUCIÓN:

Configurar la memoria de paginación con un valor entre lo recomendado por Windows (en mi caso 2Gb y el máximo, en mi caso 12Gb. 

Si le pones un valor de 8Gb fijo, como probé, tampoco sirve. 


¿DONDE SE CONFIGURA?





Vamos a Configuración -> Opciones de rendimiento -> Memoria virtual -> Cambiar 



Y ponemos un valor de entre su valor recomendado (2048 en mi caso) y 12000 en el disco duro más rápido que tengamos. 

La fórmula recomendaba es de 1,5 veces la memoria física como valor mínimo, y 3 veces como valor máximo, lo que en mi caso implicaría 1,5x12 = 18 y 12x3 = 36



Aplicar, aceptar, reiniciar equipo. 


Yo he dejado estos valores, y se han reducido casi del todo los errores y pantallazos azules.  Pero alguna vez acontece uno. Windows designa un fichero en el disco duro con 2048 Mb reservados, que simula memoria, y donde permite que los programas almacenen cosas además de la memoria RAM donde pueden también trabajar. Si fuese necesario, aumentaría de forma dinámica el archivo del disco duro, para ofrecer más espacio, hasta un máximo de 12Gb. 


Espero que le sirva a alguien, yo estuve un par de días probando cosas hasta que encontré la solución. 

Mis valores definitivos actuales => 


Y en este caso usando el disco duro más lento, aquel donde no está Windows. 
Iré actualizando si se producen novedades. 


Saludos

Nacho


No hay comentarios: