Tengo un cuaderno aquí que sospecho que tiene un módulo de memoria defectuoso. Por lo tanto, descargué Memtest86 + y lo dejé correr.
Tenga en cuenta que la captura de pantalla no es la mía real, es proporcionada por memtest86 +
¿Cómo interpreto los números en la pantalla? Lo dejé correr durante unas cuatro horas y ahora estoy en el pase 7.
Especialmente, que hace
- el número de prueba
- el recuento de errores
- el recuento de errores de ECC
¿indicar? ¿Cuáles son los valores razonables para los errores de memoria? ¿En qué punto debería considerar reemplazar la memoria?
memory
memtest86+
slhck
fuente
fuente
Respuestas:
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
Explicación de datos / prueba
MemTest ejecuta una serie de pruebas, escribe patrones específicos en cada sector de la memoria y lo recupera. Si los datos recuperados difieren de los datos almacenados originalmente, MemTest registra un error y aumenta el recuento de errores en uno. Los errores suelen ser signos de malas tiras de RAM.
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 varias pruebas diferentes para ver si se producen errores.Algunos ejemplos de prueba (simplificados):
Descripción más detallada de todas las pruebas de: https://www.memtest86.com/technical.htm#detailed
Debido a que los sectores defectuosos a veces funcionan y no funcionan en otro momento, recomiendo dejar que MemTest ejecute algunos pases. Un pase completo es una serie de pruebas completadas que han pasado. (La serie de prueba anterior 1-11) Cuantos más pases obtenga sin errores, más precisa será su ejecución de MemTest. Por lo general, 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.
El recuento de errores de ECC solo debe tenerse en cuenta cuando
ECC
se establece enoff
. 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 costosa y es probable que solo se encuentre en las configuraciones del servidor. El recuento de ECC cuenta cuántos errores ha corregido el mecanismo de ECC de la memoria. ECC no debería tener que ser invocado para una RAM saludable, por lo que un recuento de errores de ECC por encima de 0 también puede indicar una memoria defectuosa.Explicación de error
Ejemplo de Memtest que ha encontrado errores. Muestra qué sector / dirección ha fallado.
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 ( Pasar ) muestra si esa prueba ha pasado. En el caso del ejemplo, la prueba 7 no tiene pases.
La tercera columna ( Dirección errónea ) 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 la porción de datos. (0.8MB en el ejemplo)
Las columnas cuarta ( Buena ) y quinta ( Mala ) muestran los datos que se escribieron y los que se recuperaron respectivamente. Ambas columnas deben ser iguales en la memoria no defectuosa (obviamente).
La sexta columna ( Err-Bits ) muestra la posición de los bits exactos que están fallando.
La séptima columna ( Count ) muestra el número de errores consecutivos con la misma dirección y bits defectuosos.
Finalmente, la última columna siete ( Chan ) muestra el canal (si se usan múltiples 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 está cubierto en esta pregunta de Superusuario y su respuesta aceptada:
fuente
000c34e98dc - 3124.9MB
. ¿Por qué un tamaño tan grande? Tengo módulos de 2x1Gb y 2x2Gb en mi PC. ¿Cómo encontrar el que causa fallas?Numero de errores
Al pasar por las pruebas, si la memoria falla para cualquiera de las pruebas, aumentará la cantidad de errores. Si recuerdo correctamente, cuenta el número de direcciones que fallaron la prueba.
Número de errores de ECC
La memoria ECC es un tipo especial de chip de memoria que se utiliza para evitar que los datos se corrompan. Su
ECC Errs
columna cuenta cuántos problemas corrigió ECC.(ECC es lento y costoso y es básicamente para sistemas de misión crítica que no pueden molestarse en intercambiar RAM).
Número de prueba
Memtest realiza diferentes tipos de pruebas en su memoria, que se describen en el sitio web Memtest86 . Solo como una traducción rápida al inglés:
Prueba 0: Prueba de dirección para caminar
Memtest escribirá
00000001
en la primera ubicación de memoria,00000010
en la 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 ubicación de memoria 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, usa concurrencia).
Prueba 3 y 4 Prueba de inversiones en movimiento
En esencia, esta prueba carga 0s en la memoria, y luego
El objetivo aquí es intentar probar cada bit y sus bits adyacentes "cada combinación posible de 0s y 1s".
La prueba 3 no usa concurrencia, mientras que la prueba 4 sí.
Prueba 5: inversiones en movimiento, Pat de 8 bits
Esto vuelve a hacer el método de inversiones en movimiento, pero esta vez con los 1 de caminata de la prueba 0 en bloques de 8 bits.
Prueba 6: inversiones en movimiento, patrón aleatorio
Memtest usa números aleatorios en lugar de todos los 0 o caminar 1.
Prueba 7: movimiento de bloque
Esta es divertida. Carga patrones en la memoria, los mueve en bloques de 4 MB y los verifica.
Prueba 8: Inversión en movimiento, Pat de 32 bits
Igual que la prueba 5, pero utiliza 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 has ejecutado
printf("%d", rand());
un programa C sin inicializar y has obtenido el 41 tan aleatorio, ya sabes a qué me refiero). Por lo tanto, se verifica reiniciando la sembradora de números aleatorios y ejecutando el generador nuevamente.Prueba 10: Modulo-X
Cada 20 ubicaciones, escribe un patrón (todos los 0 o todos los 1) y escribe el complemento en todas las otras ubicaciones, luego verifica.
Prueba 11: Prueba de desvanecimiento de bits
Éste carga la RAM con todos los 1 (y de nuevo con todos los 0), espera 5 minutos y ve si alguno de los valores cambia.
fuente
Número de prueba: el número de la prueba específica que memtest está ejecutando actualmente. Hay muchos de ellos.
Recuento de errores: la cantidad de errores de memoria encontrados
Errores de 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 algún número de errores por encima de 0, querrá reemplazarlo.
EDITAR: Las pruebas son los diferentes patrones que memtest escribe en la memoria. Escribe diferentes patrones en la memoria y los lee de nuevo para verificar si hay errores, y utiliza diferentes patrones para poder probar todos los estados de todos los bits.
El recuento indica el número de veces que el resultado leído de nuevo en memtest no coincide con lo que escribió en la memoria, lo que significa que hay un error en la porción de 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 plataformas de escritorio no admiten módulos de memoria con ECC incorporado. Casi todos los servidores / estaciones de trabajo tienen soporte para él, y generalmente lo requieren. El número de errores corregidos por ECC es el número de errores que el chip ECC corrigió con éxito.
fuente