Como descartar sectores/patrones malos de la memoria ram en GNU/Linux

Iniciado por Dj_Dexter, Abril 23, 2015, 02:26:06 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Abril 23, 2015, 02:26:06 PM Ultima modificación: Abril 24, 2015, 01:03:30 PM por Dj_Dexter
Buenas, investigando un poco, y viendo que ultimamente se caia mucho firefox, o ffmpeg segfaulteaba aleatoriamente, y en el peor de los casos, me ha salido un kernel "oops". He pillado como solucionar este problema, y sin tener que tirar a la basura a la memoria ram defectuosa, ojo mientras no tenga muchos patrones/sectores malos...

Se necesita memtest86+ instalado desde la misma distro, o el que viene en el hiren's boot cd.

Obviamente reiniciar el pc, si usas el hiren's boot cd, elegir a memtest86+ desde el menu, si arrancas desde la distro elegir, la opcion de memtest86+ o parecida.

Sacar captura y/o anotar el patron malo de la memoria ram, en mi caso, probando las memorias por separado, el primero slot de 512 Mb tenia un patron malo:



Claramente dice que la primera memoria ram, tiene un patron malo en los 55.5MB.

Mientras que el segundo slot:



Lo probe varias veces, no dio ningun problema. Ya teniendo los datos...

Nos van a servir unos parametros para mandarselos al kernel, desde grub:

Código: text
memmap=1M$55M


En mi caso es asi, descarta un MB para estar mas seguros, de los 55 Mb y no la usara.

Por defecto desde el kernel 3.2 hacia adelante los kernels genericos, tiene activado el parametro memtest, seria asi:

Código: text
memtest=17


Se puede usar desde 1, a 17, incluso 30 (modo ultra-paranoico), con 17 nos bastara, para testear la memoria, hara testeo con 17 pasadas, no te asustes si después tarda un minuto y se queda, en Descompressing the Kernel.. por un minuto o un minuto y medio, el kernel mismo estara haciendo el memtest, arrancara como siempre, después de haber hecho eso. El memtest, el parametro del kernel, tambien descarta patrones/sectores malos, hace lo mismo que memtest86+ pero sin tanta paranoia, aunque lo hace bastante bien.

Para añadirlo en el grub1 o legacy

Editar el fichero con nano u otro editor, favorito, en nano con ctrl +x guardas cambios, con ctrl +w buscas la palabra o patron:

Código: text
#nano /boot/grub/menu.lst


en la linea kernel, despues del parametro ro, u otro añadir:

Código: text
kernel /boot/vmlinuz-generic-3.10.45 root=/dev/sda1 ro vga=normal memmap=1M$55M memtest=17


asi es como me quedo a mi, si tienen mas kernels, deberan añadir el memmap y memtest en, los otros kernels, guardar los cambios.

En Grub2

Editar el fichero /etc/default/grub, en la seccion GRUB_CMDLINE_LINUX_DEFAULT, editar:

Código: text
#nano /etc/default/grub


quedaria asi:

Código: text
GRUB_CMDLINE_LINUX_DEFAULT="memmap=1M$55M memtest=2"


Guardar cambios, y actualizar al grub:

Código: text
#update-grub


Para Lilo "el que usa por defecto slackware".

en el apartado append del fichero /etc/lilo.conf, editar:

Código: text
#nano /etc/lilo.conf


Código: text
append="memmap=1M$55M memtest=17 vt.default_utf8=1"


Una vez guardado los cambios, hay que actualizar a lilo:

Código: text
#lilo


Espero que les haya servido, les salvara la "vida" y podran seguir usando la memoria ram, defectuosa, sin problemas.

PD: Que se siente al usar un sistema operativo libre, y en pro del medio ambiente? "al no estar tirando hardware por las puras" xD

Saludos!!
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Loco Excelente aporte +1 Saludos!
Pentest - Hacking & Security Services

Contact me: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Hermano Dj_Dexter.

Realmente muy bueno el tema. Lo pondré en práctica.

Te doy un puntito.

Saludos Cordiales.

Tremendo aporte Dexter, muy util y practico.

Mis sinceras felicitaciones por el aporte, tambien te dejo 1 punto +

Saludos.
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.