Como é a falha da RAM ECC?

6

Para memória não-ECC, tenho uma ideia decente de como é uma falha; certas coisas aleatórias começam a dar errado (por exemplo, checksums PNG falham na validação uma vez e depois não na próxima vez), esse tipo de coisa. Mas sou relativamente novo na RAM ECC. O que eu espero quando a RAM ECC falha? Eu sei que se houver um único bit invertido, ele deve corrigir isso automaticamente, mas como saberia se há problemas mais sérios ou se o módulo precisa ser substituído?

Encontrei um relatório que sugeria que o sistema poderia ser fechado espontaneamente desligado ou não ligar, mas não está claro para mim por que esse seria o caso.

    
por arcticmac 10.03.2016 / 09:36

2 respostas

5

Linux mata os programas usando páginas de memória com bits invertidos além da recuperação (assim, uma palavra ECC com 2 flips), usando um sinal SIGBUS. Em seguida, ele coloca essa página na lista negra para que ela não seja reutilizada.

Ao encontrar falhas corrigidas repetidamente (normalmente não é o caso de inversões transitórias, mas com falhas difíceis que persistem após a correção), as páginas são migradas de forma transparente para outra página física, mas usando os mesmos endereços virtuais. Isso é feito por meio de um contador "leaky bucket", que conta erros de ECC por página nas últimas X unidades de tempo.

Estas abordagens são, respectivamente, chamadas de sublinhado (hard and soft page). Você pode ler mais e acessar estatísticas / logs de erros através do mcelog , que faz parte de todos os kernels Linux a partir da versão 2.6. Note que você pode configurá-lo para que seu kernel entre em pânico e reinicialize a máquina a cada erro, se desejar.

Isso também existe sob o nome de desativação de páginas de memória nos sistemas Solaris, e outros sistemas operacionais, sem dúvida, têm sua própria versão, embora eu não saiba os nomes ou referências do topo da minha cabeça.

Em suma, o hardware relata os erros e o sistema operacional atenua seus efeitos. Então, as chances são que você não vai ter muitos sintomas, mas você pode pedir ao seu sistema operacional ou ferramentas estatísticas.

    
por 12.03.2016 / 14:10
3

Eu realmente só vi um erro de ECC acontecer uma vez. Isso foi em um servidor Dell e o problema aparece em vários lugares:

  • No servidor vCenter (era um host VMWare) via IPMI
  • Nos arquivos de log da BIOS - normalmente, você pode inserir a configuração na inicialização para ver os erros registrados
  • Por meio das ferramentas de gerenciamento remoto da Dell ou similares para outros sistemas

Dada a quantidade de memória presente em muitos servidores, um único erro pode não prejudicar um programa em execução o suficiente para causar uma falha. Isso pode causar apenas problemas sutis ou talvez nenhum se o erro ocorrer na RAM que não tenha sido alocada para um programa específico.

Além disso, como é a RAM ECC, os erros de bit único são corrigíveis e não afetarão os programas em execução. O ponto de ter ECC RAM é mais ou menos as duas coisas dadas acima:

  • A capacidade de detectar e registrar erros
  • A capacidade de corrigir erros de bit único

Então - você procura por erros nas ferramentas de gerenciamento e, em geral, deve receber menos erros do que com a RAM não-ECC. A substituição de módulos é sempre aconselhada se os erros começarem a aparecer, ou seja, se a taxa de erro estiver aumentando acima de uma taxa de incidentes de segundo plano (muito baixa). Espero que isso limpe um pouco.

EDITAR: Veja também esta questão para mais sobre o mesmo assunto.

EDIT 2: Na verdade, acabei de ter outra - aqui está uma captura de tela para os interessados no que parece no VMWare vCenter (IDs de hardware embaralhadas):

    
por 10.03.2016 / 10:01

Tags