Ir a contenido
Está usando una versión antigua de su navegador. Este sitio web no está preparado para su visualización en navegadores obsoletos.
Por favor, por su seguridad, instale un navegador más actualizado y seguro.

Navegador Internet Explorer 8  Navegador Google Chrome  Navegador Mozilla Firefox
 

blog

24 ago

Test de memoria

0 comentarios Linux , how-to

A veces tenemos un equipo que se cuelga frecuentemente o que tiene errores extraños y que no podemos aislar. En estos casos hay que mirar con sospecha a la RAM, ya que es probable que sea la causa del problema. Soluciones como Memtest86+ son de sobra conocidas, pero, ¿y si no podemos arrancar con un disco de inicio para ejecutar Memtest? ¿Por ejemplo, en un servidor VPS?

 

Comprobación rápida de memoria

 

Un pequeño truco de Rahul Shah para testear la memoria consiste en llenar la memoria por completo y volcarla a un fichero, y luego ejecutar varios md5sum seguidos sobre este fichero, que en realidad se ejecutarán sobre la memoria ya que los datos estarán cacheados en RAM.

 

Primero, comprobamos cuánta memoria tenemos instalada, y después generamos con dd un fichero del tamaño total de nuestra RAM y ejecutamos los md5sum. Si los md5sum no son idénticos, es casi garantizado que tenemos RAM defectuosa:

 

$ free

             total       used       free     shared    buffers     cached

Mem:      32949432   31109324    1840108          0    3233952   15665184
-/+ buffers/cache:   12210188   20739244
Swap:     33947640     667736   33279904

$ dd if=/dev/urandom bs=32949432 of=/tmp/memtest count=1050
$ md5sum /tmp/memtest; md5sum /tmp/memtest; md5sum /tmp/memtest

 

Un test más profundo

 

El gran problema de los tests de memoria es que se basan en saturar la RAM desde la CPU, pero en la vida real la RAM no se usa sólo desde la CPU, también se accede a ella directamente desde la tarjeta gráfica, desde los buses PCI, desde las controladoras de disco... Por muy rápido que testeemos la RAM desde la CPU, nunca podremos llegar a lo que es una carga real desde varios puntos del sistema.

 

Para solventar este problema podemos usar un script desarrollado por Doug Ledford de Red Hat. Este script trata de imitar la carga real desde todos los dispositivos que pueden acceder directamente a RAM, por lo que su resultado es mucho más completo y fiable. El script se puede descargar desde la web de Doug, o directamente descargar desde mi propio servidor. Para ejecutarlo, necesitaremos un kernel de Linux en bzip2 y el paquete pbzip2 (parallel bzip) instalado. Al ejecutarlo, si no recibimos ningún error es que todo está bien; si vemos algún error de diff entre archivos, es que seguramente haya un problema en la RAM:

 

 

$ sudo apt-get install pbzip2
$ cd /tmp
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.bz2
$ mv linux-2.6.39.4.tar.bz2 linux.tar.bz2
$ ./memtest.sh -x -c 1 -n 2
TEST_DIR:		/tmp
SOURCE_FILE:		linux.tar.bz2
NR_PASSES:		2
MEGS_PER_COPY:		240
NR_COPIES:		1
PARALLEL:		no
COMPRESS_RATIO:		5
COMPRESS_FLAG:		j
COMPRESS_PROG:		/usr/bin/pbzip2
EXTRACT:		no

Creating comparison source...done.
Starting test pass #1: unpacking, comparing, removing, done.
Starting test pass #2: unpacking, comparing, removing, done.
Starting test pass #3: unpacking, comparing, removing, done.
Starting test pass #4: unpacking, comparing, removing, done.
Starting test pass #5: unpacking, comparing, removing, done.
$

 

 

Bonus: probar la alimentación

 

Otro de los elementos que más quebraderos de cabeza nos puede dar es la fuente de alimentación, ya que si esta falla los errores pueden ser imprevisibles, desde fallos de disco duro hasta cuelgues del sistema, y muy difíciles de localizar. Con este script podemos aprovechar a hacer un chequeo de la fuente de alimentación exigiéndole todo lo que pueda dar de sí. Para ello basta con poner a grabar un DVD, ejecutar algo en 3D (como glxgears) y hacer trabajar la tarjeta de red, por ejemplo, con un netperf, todo ello mientras ejecutamos el script. Ejecutando todo esto a la vez estaremos muy muy cerca de llegar al máximo de potencia que nuestro equipo puede requerir.

 



Comentarios


Aún no hay comentarios.

Añade un nuevo comentario







 Enviando, por favor, espera...
Debes rellenar todos los campos.

Nunca haré público tu email, sólo se requiere a efectos estadísticos.

Comentarios malsonantes, con insultos, racistas, homófobos o con malas intenciones serán eliminados.

¡Muchas gracias por participar!


Ver blog

Creative Commons License Esta web http://alvaroremesal.net , su contenido, texto e imágenes está licenciado bajo una Licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 España.

2012 - Álvaro Remesal Royo   Avisos legales

logo-acms