linux – ¿Memtest86 + prueba la memoria que se usa para ejecutarse?

Pregunta:

Uno de los escenarios comunes de falla del servidor es una mala DRAM, a veces incluso cuando se usa la memoria ECC.

memtest86+ es una de las herramientas más útiles para diagnosticar problemas de DRAM. A medida que se carga al inicio de la memoria, me preguntaba si memtest86+ verifica la parte de la memoria en la que se carga memtest86+ .

¿Es la memoria asignada a memtest86+ tan pequeña que no importa, o es posible que memtest86+ pierda un defecto en la DRAM porque no puede probar las ubicaciones de memoria en las que reside?

Respuesta:

Obviamente, memtest86 + no puede probar la región de memoria que actualmente contiene el código ejecutable memtest86 + (pero si hay errores de memoria en esa región, es muy probable que la prueba se bloquee). Sin embargo, memtest86 + puede reubicar su propio código en una dirección diferente en tiempo de ejecución, y al usar este truco puede probar toda la memoria que el firmware (BIOS) le permite usar, pero no toda a la vez.

Esta reubicación de código se describe en README.background dentro del archivo de código fuente memtest86 + (el archivo está un poco desactualizado; por ejemplo, indica que las direcciones utilizadas para el código memtest86 + son 0x2000 y 0x200000, pero la dirección baja como se define en la fuente es en realidad 0x10000, y la dirección alta es 0x2000000 o 0x300000 dependiendo de la cantidad de memoria en la máquina).

Pero incluso con este truco de reubicación, memtest86 + no puede probar toda la memoria por las siguientes razones:

  • Por lo general, el firmware (BIOS) reserva algunas regiones de RAM para su propio uso (por ejemplo, tablas ACPI). Si bien la CPU puede acceder a estas regiones de RAM, escribir cualquier cosa en ellas puede provocar un comportamiento impredecible.

  • Parte de la RAM se usa para el modo de administración del sistema y ni siquiera es accesible desde la CPU fuera del código SMM privilegiado.

  • El rango de direcciones de RAM entre 640K y 1M es inaccesible debido a peculiaridades del diseño de memoria de PC heredado (parte de esta RAM puede usarse como una sombra para BIOS ROM y para SMM, otras partes pueden ser completamente inaccesibles).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım