Eu tenho um notebook aqui que suspeito ter um módulo de memória com defeito. Portanto, baixei o Memtest86 + e o deixei rodar.
Observe que a captura de tela não é a atual, é fornecida pelo memtest86 +
Como interpreto os números na tela? Deixei que funcionasse por cerca de quatro horas e agora estou no passe 7.
Especialmente, o que faz
- o número do teste
- a contagem de erros
- a contagem de erros de ECC
indicar? Quais são os valores sãos para erros de memória? Em que momento devo considerar a substituição da memória?
memory
memtest86+
slhck
fonte
fonte
Respostas:
TL; DR
O número mais importante primeiro: a contagem de erros para a memória íntegra deve ser 0 . Qualquer número acima de 0 pode indicar setores danificados / defeituosos.
Explicação da tela
Explicação de dados / teste
O MemTest executa uma série de testes, grava padrões específicos em todos os setores da memória e os recupera. Se os dados recuperados diferirem dos que foram originalmente armazenados, o MemTest registra um erro e aumenta a contagem de erros em um. Erros geralmente são sinais de faixas de RAM ruins.
Como a memória não é apenas um bloco de notas que contém informações, mas possui funções avançadas como cache, vários testes diferentes são feitos. Isto é o que
Test #
indica. O MemTest executa vários testes diferentes para verificar se ocorrem erros.Alguns exemplos de teste (simplificados):
Descrição mais detalhada de todos os testes em: https://www.memtest86.com/technical.htm#detailed
Como setores defeituosos às vezes funcionam e não funcionam outra vez, recomendo deixar o MemTest executar algumas etapas. Uma aprovação completa é uma série de testes concluída que já passou. (A série de testes 1-11 acima) Quanto mais passes você obtiver sem erros, mais precisa será a sua execução no MemTest. Eu costumo executar cerca de 5 passes para ter certeza.
A contagem de erros da memória íntegra deve ser 0. Qualquer número acima de 0 pode indicar setores danificados / com defeito.
A contagem de erros do ECC deve ser levada em consideração apenas quando
ECC
definida comooff
. ECC significa Memória de código de correção de erros e é um mecanismo para detectar e corrigir bits incorretos no estado da memória. Pode ser comparado ligeiramente às verificações de paridade feitas em RAID ou mídia óptica. Essa tecnologia é bastante cara e provavelmente só será encontrada em configurações de servidores. A contagem de ECC conta quantos erros foram corrigidos pelo mecanismo ECC da memória. O ECC não deve ter que ser chamado para uma RAM saudável; portanto, uma contagem de erros do ECC acima de 0 também pode indicar memória insuficiente.Explicação do erro
Exemplo de Memtest que encontrou erros. Mostra qual setor / endereço falhou.
A primeira coluna ( Tst ) mostra qual teste falhou, o número corresponde ao número de teste da lista já mencionada acima. A segunda coluna ( passagem ) mostra se que o teste tenha passado. No caso do exemplo, o teste 7 não tem aprovação.
A terceira coluna ( Endereço com falha ) mostra exatamente qual parte da memória possui erros. Essa parte possui um endereço, como um endereço IP, exclusivo para esse pedaço de armazenamento de dados. Ele mostra qual endereço falhou e qual o tamanho do bloco de dados. (0,8 MB no exemplo)
A quarta ( boa ) e a quinta ( ruim ) coluna mostram os dados que foram gravados e o que foi recuperado, respectivamente. Ambas as colunas devem ser iguais na memória não defeituosa (obviamente).
A sexta coluna ( Err-Bits ) mostra a posição dos bits exatos que estão falhando.
A sétima coluna ( Contagem ) mostra o número de erros consecutivos com o mesmo endereço e bits com falha.
Finalmente, a última coluna sete ( Chan ) mostra o canal (se vários canais forem usados no sistema) em que a faixa de memória está.
Se encontrar erros
Se o MemTest detectar algum erro, o melhor método para determinar qual módulo está com defeito é abordado nesta pergunta do superusuário e sua resposta aceita:
fonte
000c34e98dc - 3124.9MB
. Por que um tamanho tão grande? Eu tenho os módulos 2x1Gb e 2x2Gb no meu PC. Como encontrar o que está causando falhas?Número de erros
Ao passar pelos testes, se a memória falhar em algum dos testes, aumentará o número de erros. Se bem me lembro, conta o número de endereços que falharam no teste.
Número de erros de ECC
A memória ECC é um tipo especial de chip de memória usado para impedir que os dados sejam corrompidos. Sua
ECC Errs
coluna conta quantos problemas foram corrigidos pelo ECC.(O ECC é lento e caro e é basicamente para sistemas de missão crítica que não podem ser incomodados em trocar a RAM.)
Número do teste
O Memtest faz diferentes tipos de testes em sua memória, descritos no site do Memtest86 . Assim como uma tradução rápida e simples para o inglês:
Teste 0: Teste de Endereços para Caminhar
O Memtest gravará
00000001
no primeiro local da memória,00000010
no próximo e assim por diante, repetindo esse padrão a cada 8 bytes. Em seguida, ele lê a memória e garante que o valor não foi alterado. ( Fonte )Testes 1 e 2: Teste de endereço de endereço próprio
O Memtest grava cada local de memória com seu próprio endereço e verifica se o valor não foi alterado.
O teste 1 é seqüencial e o teste 2 é paralelo (ou seja, usa simultaneidade).
Teste 3 e 4 Teste de Inversões Móveis
Em essência, esse teste carrega 0s na memória e, em seguida,
O objetivo aqui é tentar testar todos os bits e seus bits adjacentes "todas as combinações possíveis de 0s e 1s".
O teste 3 não usa simultaneidade, enquanto o teste 4 usa.
Teste 5: Movendo Inversões, Pat de 8 bits
Isso faz o método de inversões em movimento novamente, mas desta vez com os 1s andando do teste 0 em blocos de 8 bits.
Teste 6: Movendo Inversões, Padrão Aleatório
O Memtest usa números aleatórios em vez de todos os 0s ou 1s andantes.
Teste 7: movimento do bloco
Essa é divertida. Carrega padrões na memória, move-os em blocos de 4mb e os verifica.
Teste 8: Inversão em movimento, Pat de 32 bits
O mesmo que o teste 5, mas usa blocos de 32 bits. De fato, este carrega todos os valores possíveis de 32 bits em todos os locais.
Teste 9: Números Aleatórios
Este carrega números pseudo-aleatórios na memória e verifica. O interessante do gerador de números pseudoaleatórios é que ele não é muito aleatório (se você já rodou
printf("%d", rand());
em um programa C sem propagação e conseguiu o 41, você sabe o que quero dizer). Por isso, verifica redefinindo o semeador de números aleatórios e executando o gerador novamente.Teste 10: Módulo X
A cada 20 locais, ele grava um padrão (todos os 0s ou todos os 1s) e grava o complemento em todos os outros locais e depois verifica.
Teste 11: Teste de desbotamento por bits
Este carrega a RAM com todos os 1s (e novamente com todos os 0s), aguarda 5 minutos e verifica se algum dos valores muda.
fonte
Número do teste: o número do teste específico que o memtest está executando no momento. Existem muitos deles.
Contagem de erros: o número de erros de memória encontrados
Erros de ECC: Número de erros corrigidos pelo ECC. Seu chipset / memória não possui ECC, portanto esse número não importa.
Se sua memória tiver algum número de erros acima de 0, convém substituí-la.
EDIT: Os testes são os diferentes padrões que o memtest grava na memória. Ele grava padrões diferentes na memória e os lê novamente para verificar se há erros, e usa padrões diferentes para poder testar todos os estados de todos os bits.
A contagem indica o número de vezes que o resultado lido novamente no memtest não corresponde ao que ele gravou na memória, significando que há um erro no pedaço de memória sendo testado.
O ECC é uma tecnologia de correção de erros incorporada aos chips de memória para servidores e estações de trabalho. A maioria dos dekstops não suporta módulos de memória com o ECC embutido. Quase todos os servidores / estações de trabalho têm suporte para ele, e geralmente precisam dele. O número de erros corrigidos pelo ECC é o número de erros que o chip ECC corrigiu com sucesso.
fonte