Tengo cuatro módulos de RAM de 512 MB en un servidor. La cuarta RAM muestra un error de solo un bit cuando uso memtest86+ para probar las RAM. Incluso cuando cambio la RAM en la cuarta ranura con otra RAM, sigo recibiendo un error en la RAM en la cuarta ranura exactamente en la misma ubicación. Así que quería bloquear una dirección particular (o una página de 4kb, si es necesario) de RAM para que el servidor no la utilizara. El servidor tiene fedora 11 y se utiliza únicamente con fines de prueba. No aloja ninguna aplicación de usuario. ¿Alguna idea sobre cómo puedo bloquear el uso de cierta porción de RAM? o sobre qué está causando que se produzca un error en un byte particular, independientemente del módulo RAM instalado.
Respuesta1
Recientemente descubrí que hay un parámetro del kernel (para proporcionar en el arranque, en la configuración de grub, por ejemplo)
memmap=[cantidad]M$[ubicación inicial]M
Puede suministrarlo muchas veces para bloquear partes de la memoria.
p.ej.
mapa de memoria=3M$217M
bloquea megabytes de 217 a 219
Respuesta2
Solía existir el parche "BadMEM" para Linux, sin embargo, se necesitaría un poco de esfuerzo para actualizarlo a un keernel actual.
Respuesta3
Eso suena como una posible ranura defectuosa en la placa base, como lo mostraron sus pruebas. Nunca he visto una forma de evitar esto además de no usar esa ranura. Que yo sepa, no hay una respuesta fácil. Supongo que se podría crear algún software, pero como dijo Nik, esa sería más una pregunta SO.
Respuesta4
Podría escribir una extensión del kernel que, cuando se cargue, simplemente asignaría esta página y luego no haría nada más.
Por desgracia, no sé cómo hacer esto. Cuando trabajaba en el sistema VM de IBM, esto estaba integrado, pero eso, por supuesto, no ayuda.