Saltar al contenido

¿Cómo interpreto las estadísticas de una ejecución de memtest?

Hola usuario de nuestro sitio web, descubrimos la solución a lo que necesitas, has scroll y la verás un poco más abajo.

Solución:

TL; DR

El número más importante primero: El recuento de errores para una memoria saludable debe ser 0. Cualquier número por encima de 0 puede indicar sectores dañados / defectuosos.


Explicación de la pantalla

     Memtest86+ v1.00      | Progress of the entire pass (test series)
CPU MODEL and clock speed  | Progress of individual, current test
Level 1 cache size & speed | Test type that is currently running
Level 2 cache size & speed | Part of the RAM (sector) that is being tested
RAM size and testing speed | Pattern that is being written to the sector
Information about the chipset that your mainboard uses
Information about your RAM set-up, clock speed, channel settings, etc.

WallTime   Cached  RsvdMem   MemMap   Cache  ECC  Test  Pass  Errors  ECC Errs
---------  ------  -------  --------  -----  ---  ----  ----  ------  --------
Elapsed    Amount  Amount    Mapping  on     on   Test  # of  # of    # of ECC
time       of RAM  of        used     or     or   type  pass  errors  errors
           cached  reserved           off    off        done  found   found
                   RAM, not
                   tested

Explicación de datos / prueba

MemTest ejecuta una serie de pruebas, escribe patrones específicos en cada sector de la memoria y los recupera. Si los datos recuperados difieren de los datos que se almacenaron originalmente, MemTest registra un error y aumenta el recuento de errores por uno. Los errores suelen ser signos de tiras de RAM defectuosas.

Dado que la memoria no es solo un bloc de notas que contiene información, sino que tiene funciones avanzadas como el almacenamiento en caché, se realizan varias pruebas diferentes. Esto es lo que Test # indica. MemTest ejecuta una serie de pruebas diferentes para ver si se producen errores.

Algunos ejemplos de prueba (simplificados):

  • Pruebe los sectores en este orden: A, B, C, D, E, F. (Serie)
  • Pruebe los sectores en este orden: A, C, E, B, D, F. (en movimiento)
  • Rellena todos los sectores con el patrón: aaaaaaaa
  • Rellena todos los sectores con un patrón aleatorio.

Descripción más detallada de todas las pruebas de: https://www.memtest86.com/technical.htm#detailed

Prueba 0 [Address test, walking ones, no cache]

Prueba todos los bits de dirección en todos los bancos de memoria mediante el uso de un patrón de dirección de unos andantes.

Prueba 1 [Address test, own address, Sequential]

Cada dirección se escribe con su propia dirección y luego se verifica su coherencia. En teoría, las pruebas anteriores deberían haber detectado cualquier problema de dirección de memoria. Esta prueba debería detectar cualquier error de direccionamiento que de alguna manera no se haya detectado previamente. Esta prueba se realiza secuencialmente con cada CPU disponible.

Prueba 2 [Address test, own address, Parallel]

Igual que la prueba 1, pero la prueba se realiza en paralelo utilizando todas las CPU y utilizando direcciones superpuestas.

Prueba 3 [Moving inversions, ones&zeros, Sequential]

Esta prueba utiliza el algoritmo de inversiones en movimiento con patrones de todos unos y ceros. La caché está habilitada a pesar de que interfiere hasta cierto punto con el algoritmo de prueba. Con el caché habilitado, esta prueba no lleva mucho tiempo y debería encontrar rápidamente todos los errores “duros” y algunos errores más sutiles. Esta prueba es solo una comprobación rápida. Esta prueba se realiza secuencialmente con cada CPU disponible.

Prueba 4 [Moving inversions, ones&zeros, Parallel]

Igual que la prueba 3, pero la prueba se realiza en paralelo utilizando todas las CPU.

Prueba 5 [Moving inversions, 8 bit pat]

Es lo mismo que la prueba 4, pero utiliza un patrón de 8 bits de unos y ceros “andantes”. Esta prueba detectará mejor los errores sutiles en los chips de memoria “anchos”.

Prueba 6 [Moving inversions, random pattern]

La prueba 6 usa el mismo algoritmo que la prueba 4, pero el patrón de datos es un número aleatorio y su complemento. Esta prueba es particularmente eficaz para encontrar errores sensibles a los datos difíciles de detectar. La secuencia de números aleatorios es diferente con cada pasada, por lo que varias pasadas aumentan la efectividad.

Prueba 7 [Block move, 64 moves]

Esta prueba hace hincapié en la memoria mediante el uso de instrucciones de movimiento de bloques (movsl) y se basa en la prueba burnBX de Robert Redelmeier. La memoria se inicializa con patrones cambiantes que se invierten cada 8 bytes. Luego, los bloques de memoria de 4 MB se mueven usando la instrucción movsl. Una vez completados los movimientos, se comprueban los patrones de datos. Debido a que los datos se verifican solo después de que se completan los movimientos de memoria, no es posible saber dónde ocurrió el error. Las direcciones informadas son solo para donde se encontró el patrón incorrecto. Dado que los movimientos están restringidos a un segmento de memoria de 8 MB, la dirección que falla siempre estará a menos de 8 MB de la dirección informada. Los errores de esta prueba no se utilizan para calcular patrones BadRAM.

Prueba 8 [Moving inversions, 32 bit pat]

Esta es una variación del algoritmo de inversiones móviles que desplaza el patrón de datos a la izquierda un bit para cada dirección sucesiva. La posición del bit de inicio se desplaza hacia la izquierda para cada pasada. Para utilizar todos los patrones de datos posibles se requieren 32 pasadas. Esta prueba es bastante eficaz para detectar errores sensibles a los datos, pero el tiempo de ejecución es largo.

Prueba 9 [Random number sequence]

Esta prueba escribe una serie de números aleatorios en la memoria. Al restablecer la semilla para el número aleatorio, se puede crear la misma secuencia de números para una referencia. El patrón inicial se verifica y luego se complementa y se verifica nuevamente en la siguiente pasada. Sin embargo, a diferencia de las inversiones móviles, la escritura de prueba y la verificación solo se pueden realizar en la dirección de avance.

Prueba 10 [Modulo 20, ones&zeros]

El uso del algoritmo Modulo-X debería descubrir errores que no se detectan moviendo inversiones debido a la interferencia de caché y almacenamiento en búfer con el algoritmo. Al igual que con la prueba uno, solo se utilizan unos y ceros para los patrones de datos.

Prueba 11 [Bit fade test, 90 min, 2 patterns]

La prueba de desvanecimiento de bits inicializa toda la memoria con un patrón y luego duerme durante 5 minutos. Luego, se examina la memoria para ver si ha cambiado algún bit de memoria. Se utilizan todos los patrones unos y cero.

Debido a que los sectores defectuosos a veces pueden funcionar y no funcionar en otro momento, recomiendo dejar que MemTest se ejecute algunas pasadas. Una completa aprobar es una serie de pruebas completa que ha pasado. (La serie de pruebas anterior 1-11) Cuantas más pasadas obtenga sin errores, más precisa será la ejecución de MemTest. Normalmente corro alrededor de 5 pases para estar seguro.

El recuento de errores para una memoria saludable debe ser 0. Cualquier número por encima de 0 puede indicar sectores dañados / defectuosos.

Recuento de errores ECC solo debe tenerse en cuenta cuando ECC se establece en off. ECC significa memoria de código de corrección de errores y es un mecanismo para detectar y corregir bits incorrectos en un estado de memoria. Se puede comparar ligeramente con las comprobaciones de paridad realizadas en RAID o medios ópticos. Esta tecnología es bastante cara y probablemente solo se encontrará en configuraciones de servidor. El recuento de ECC cuenta cuántos errores han sido corregidos por el mecanismo ECC de la memoria. ECC no debería tener que ser invocado para RAM en buen estado, por lo que un recuento de errores de ECC por encima de 0 también puede indicar mala memoria.


Explicación del error

Ejemplo de Memtest que ha encontrado errores. Muestra qué sector / dirección ha fallado.

Pantalla de Memtest con errores

La primera columna (Tst) muestra qué prueba ha fallado, el número corresponde al número de prueba de la lista ya mencionada anteriormente. La segunda columna (Aprobar) muestra si esa prueba tiene aprobado. En el caso del ejemplo, la prueba 7 no pasa.

La tercera columna (Dirección anómala) muestra exactamente qué parte de la memoria tiene errores. Dicha parte tiene una dirección, muy parecida a una dirección IP, que es única para esa pieza de almacenamiento de datos. Muestra qué dirección falló y qué tan grande es el fragmento de datos. (0,8 MB en el ejemplo)

El cuarto (Bien) y quinto (Malo) Las columnas muestran los datos que se escribieron y los que se recuperaron, respectivamente. Ambas columnas deben ser iguales en memoria no defectuosa (obviamente).

La sexta columna (Err-Bits) muestra la posición exacta de los bits que fallan.

La séptima columna (Contar) muestra el número de errores consecutivos con la misma dirección y bits que fallan.

Finalmente, la última, columna siete (Chan) muestra el canal (si se utilizan varios canales en el sistema) en el que se encuentra la tira de memoria.


Si encuentra errores

Si MemTest descubre algún error, el mejor método para determinar qué módulo está defectuoso se cubre en esta pregunta de superusuario y su respuesta aceptada:

Utilice el proceso de eliminación: retire la mitad de los módulos y vuelva a ejecutar la prueba …

Si no hay fallas, entonces sabrá que estos dos módulos son buenos, así que déjelos a un lado y pruebe nuevamente.

Si hay fallas, reduzca a la mitad nuevamente (hasta uno de los cuatro módulos de memoria ahora) y luego pruebe nuevamente.

Pero, solo porque uno falló en una prueba, no asuma que el otro no falla (podría tener dos módulos de memoria defectuosos); si ha detectado una falla con dos módulos de memoria, pruebe cada uno de esos dos por separado después .

Nota importante: con características como el entrelazado de memoria y esquemas deficientes de numeración de zócalos de módulos de memoria de algunos proveedores de placas base, puede ser difícil saber qué módulo está representado por una dirección determinada.

Número de prueba: el número de la prueba específica que memtest está ejecutando actualmente. Hay muchos de ellos.

Recuento de errores: el número de errores de memoria encontrados.

Errores ECC: número de errores corregidos por ECC. Su chipset / memoria no tiene ECC, por lo que este número no importa.

Si su memoria tiene una cantidad de errores superior a 0, querrá reemplazarla.

EDITAR: Las pruebas son los diferentes patrones que memtest escribe en la memoria. Escribe diferentes patrones en la memoria y los vuelve a leer para verificar si hay errores, y usa diferentes patrones para poder probar todos los estados de todos los bits.

El recuento indica la cantidad de veces que el resultado leído de nuevo en memtest no coincidió con lo que escribió en la memoria, lo que significa que hay un error en la parte de la memoria que se está probando.

ECC es una tecnología de corrección de errores integrada en chips de memoria para servidores y estaciones de trabajo. La mayoría de las computadoras de escritorio no admiten módulos de memoria con ECC integrado. Casi todos los servidores / estaciones de trabajo lo admiten y, por lo general, lo requieren. El número de errores corregidos por ECC es el número de errores que el chip ECC solucionó con éxito.

Numero de errores

Al pasar por las pruebas, si la memoria falla en alguna de las pruebas, aumentará la cantidad de errores. Si recuerdo correctamente, cuenta la cantidad de direcciones que no pasaron la prueba.

Número de errores ECC

La memoria ECC es un tipo especial de chip de memoria que se utiliza para evitar que los datos se corrompan. Tu ECC Errs La columna cuenta cuántos problemas solucionó ECC.

(ECC es lento y costoso y es básicamente para sistemas de misión crítica que no pueden molestarse en cambiar la RAM).

Número de prueba

Memtest realiza diferentes tipos de pruebas en su memoria, que se describen en el sitio web de Memtest86. Como una traducción rápida y sencilla al inglés:

Prueba 0: Prueba de dirección de los que caminan

Memtest escribirá 00000001 en la primera ubicación de la memoria, 00000010 en el siguiente, y así sucesivamente, repitiendo este patrón cada 8 bytes. Luego lee la memoria y se asegura de que el valor no haya cambiado. (Fuente)

Pruebas 1 y 2: Prueba de dirección de dirección propia

Memtest escribe cada memoria location con su propia dirección y verifica que el valor no haya cambiado.

La prueba 1 es secuencial y la prueba 2 es paralela (es decir, utiliza simultaneidad).

Prueba 3 y 4 Prueba de inversiones móviles

En esencia, esta prueba carga 0 en la memoria y luego

  1. toma cada ubicación de la memoria (comenzando desde la primera / más baja ubicación),
  2. y escribe el inverso del patrón (creo que es un NO bit a bit, pero no pude encontrar ninguna documentación sobre eso).

El objetivo aquí es intentar probar cada bit y sus bits adyacentes “cada combinación posible de 0 y 1”.

La prueba 3 no usa simultaneidad, mientras que la prueba 4 sí.

Prueba 5: Inversiones móviles, Pat de 8 bits

Esto vuelve a realizar el método de inversiones en movimiento, pero esta vez con los 1 andantes de la prueba 0 en bloques de 8 bits.

Prueba 6: Inversiones móviles, patrón aleatorio

Memtest usa números aleatorios en lugar de ceros o 1 caminando.

Prueba 7: movimiento de bloque

Este es divertido. Carga patrones en la memoria, los mueve en bloques de 4 MB y los verifica.

Prueba 8: Inversión móvil, Pat de 32 bits

Igual que la prueba 5, pero usa bloques de 32 bits en su lugar. De hecho, este carga todos los valores posibles de 32 bits en cada ubicación.

Prueba 9: Números aleatorios

Éste carga números pseudoaleatorios en la memoria y verifica. Lo bueno del generador de números pseudoaleatorios es que no es muy aleatorio (si alguna vez ha ejecutado printf("%d", rand()); en un programa C sin sembrar y obtuve el 41 tan aleatorio, ya sabes a lo que me refiero). Por lo tanto, verifica restableciendo la sembradora de números aleatorios y ejecutando el generador nuevamente.

Prueba 10: Módulo-X

Cada 20 ubicaciones, escribe un patrón (todos 0 o todos 1) y escribe el complemento en todas las demás ubicaciones, luego verifica.

Prueba 11: Prueba de desvanecimiento de bits

Éste carga la RAM con todos los 1 (y nuevamente con todos los 0), espera 5 minutos y ve si alguno de los valores cambia.

Puntuaciones y reseñas

Recuerda que tienes el privilegio reseñar .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *