Existe algum erro registrado pelo CentOS em algum lugar que possa revelar conclusivamente que “agora é hora de pagar pelo ECC”?

5

Eu tenho um servidor dedicado de 32 GB não-ECC RAM com o CentOS.

Uma vez por dia, ele trava aleatoriamente sem nenhum erro em /var/log/kern.log, / var / log / messages, mysql, apache.

CPU / RAM / IO não são particularmente altos nem baixos.

Existe algum erro registrado pelo CentOS em algum lugar que possa revelar conclusivamente "agora é hora de pagar pelo ECC"?

    
por wlf 14.09.2013 / 11:45

3 respostas

10

O que você gostaria de registrar? O CentOS não pode saber que o conteúdo da memória não-ECC está corrompido, porque não é cognoscível; só pode saber que o conteúdo da memória não faz sentido e entra em pânico com base em qualquer inconsistência que tenha encontrado. Essa inconsistência pode ter surgido da corrupção de RAM, mas também pode ter surgido de um bug do kernel, ou alguma outra causa.

A única maneira de saber definitivamente que a memória está corrompida é usar a memória que inclui explicitamente o suporte para verificar essa corrupção; a saber, memória ECC.

Editar : essa é uma pergunta completamente diferente da que você perguntou. Mas minha estratégia seria: executar memtest86+ no hardware, para ver se há erros repetíveis fáceis de capturar e habilitar o syslog ging remoto no servidor (como quando o kernel entra em pane, ele geralmente pára de gravar o FS, mas ainda pode espremer uma mensagem de log do NIC), para ver o que está registrado no próximo pânico.

    
por 14.09.2013 / 11:50
6

A memória ECC tem duas vantagens:

  • É registrado, o que significa que há um registro antes de outros componentes no chip. Isso deve remover a carga elétrica do controlador de memória. Isso vale para todos os RDIMMs, não apenas para a RAM ECC.
  • Ele pode detectar erros e, se não recuperar, relatar que eles ocorreram

Dado isto, é realmente muito difícil determinar se você teria se beneficiado do ECC sem ter o ECC ram. Por definição você não pode registrar a falha para detectar um erro, e você certamente não tem dados sobre se o erro que pode ou não ter acontecido foi o resultado do controlador de memória bagunçando.

Dito isto, se você executar o memtest, irá determinar algumas coisas. Se você não encontrar nenhum erro, você precisará de RAM ECC, ou o problema é com outra coisa (portanto, se você determinar absolutamente todas as peças de hardware e software como a causa, você terá mostrado a necessidade de RAM ECC). Se você encontrar erros consistentes, é provável que a RAM seja ruim e precise ser substituída. Se você encontrar erros inconsistentes, a CPU pode estar com problemas ou talvez você precise de RAM ECC. Se você achar que o memtest86 trava, o DIMM de ordem mais baixa é ruim ou a CPU está ruim ou você precisa de RAM ECC.

Independentemente disso, isso é muito complicado para mostrar definitivamente. A RAM ECC é mais útil em aplicativos em que erros invisíveis nos cálculos podem causar problemas extremos ou em aplicativos em que a grande quantidade de RAM combinada com outras condições gera erros estatisticamente prováveis. No entanto, esses critérios em si são confusos e subjetivos, portanto, não há realmente um critério objetivo para isso.

    
por 14.09.2013 / 12:24
0

Se em qualquer lugar, provavelmente logaria em

 /var/log/mcelog 

(este é o lugar onde os eventos críticos da CPU vão em raças do RHEL)

    
por 17.03.2014 / 22:52

Tags