Saiyine
Punto Com

Reutilizar memoria RAM dañada en Linux

2010-06-20 10:30:10

El otro dia me petó el servidor. Estabamos tan tranquilos viendo la tele, y cuando volví­ al ordenador a leer el correo, me encuentro con que el servidor no responde al ping, ni me coge el telefono, ni nada de nada.

Despues de la pertinente autopsia, descubrí­ el problema, la junta de la trocola estaba como nueva pero, por alguna razón, dos de las tres pastillas de RAM habian muerto. ¿Una subida de tensión? Quien sabe... Nunca me habia pasado, y eso que he visto salir humo y ruidicos de casi todas las piezas de un ordenador, sobre todo de las fuentes de alimentacion, que son un peligro. Pero una muerte casi total de la RAM y la placa quedarse intacta, nunca. Never, never, never.

Así­ que hice lo que todo héroe anonimo debe hacer en casos como este, preparar un balance de daños con el Memtest, que podeis encontrar en el arranque de cualquier DVD de linux: Ubuntu, Fedora.

Memtest

Ojito que verificar si la memoria está rota con un programa de testeo, como el Memtest, es un tí­pico problema indecidible: con él podremos saber si la memoria está mal, pero nunca si la memoria esta bien. Es como pisar la rueda del coche cuando crees que puede estar pinchada, a lo mejor si que se te hunde el pie en la rueda, con lo que demostrarias que realmente le falta aire, pero lo normal es que te quedes con la duda igual. Me refiero a que, por la propia naturaleza de los errores de memoria, puede ocurrir que cuando el test pasa por una zona dañada, la RAM responda correctamente al test, de casualidad, pero no la siguiente vez.

En cualquier caso, de mis tres pastillas de RAM de 1024, 1024 y 512 megas, las dos últimas estaban mal y en particular, la tercera, directamente destrozada. ¿Porque no la segunda? Pues por la magia del software libre, que al margen de politiqueos, en general está para servir al usuario y no a los intereses de alguna oscura corporación, y te estoy mirando a ti, Intel.

En linux es bastante sencillo usar memorias dañadas como si fueran discos duros con sectores erroneos. Solo tienes que pasar el memtest, y anotar las posiciones de memoria que fallan. Si son pocas, y, esto es fundamental, están siempre en el mismo sitio, hay varios programas que permiten marcarlas y usar el resto de la memoria sin problemas.

En ubuntu el sistema que se usa se llama memmap, y es bastante sencillo. En mi caso, el memtest me dijo en que las posiciones 1533M y 1536M habia dos bits erroneos. Es decir, 2 bits de entre 8,192 * 10e9, si tener que tirar una memoria por eso no es un desperdicio ya me contareis(*). En cualquier caso, fui conservador y le reservé 10 megas al error, con lo que el comando quedó así­: memmap=10M$1530M. Ahora viene el paso mas complicado, entrar al fichero /boot/grub/menu.lst y editarlo, como root, para poner el comando en el arranque del sistema.

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=0e54ede4-bbf9-43f8-8022-5cfd4037ad31 memmap=10M$1530M ro

Despues, es necesario hacer un sudo update-grub para que el sistema actualice la configuración, y reiniciar.

(*) Siempre que se habla de este tema, sale algún listillo que en vez de ayudar, pone el huevo: si la memoria está baratisima, ¿para que molestarse? Y yo siempre respondo lo mismo: si es tan barata, no te importará mandarme la pasta. Curiosamente, aun no me la ha mandado nadie.

Rollos antiguos

2010-06-05 17:31:54 - Prueba de agudeza visual.

2010-06-02 17:30:01 - Enabling Hibernate in Windows 7.

2010-06-02 17:10:56 - Activar la opcion de hibernar en Windows 7.

2010-05-31 11:13:34 - ¿Por que la Coca Cola normal se hunde y la Light flota?.

2010-05-31 09:07:18 - De la censura.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.