Utilizando RAM com defeito no Linux

Durante alguns meses estava sofrendo com o meu computador, ele reiniciava de tempos em tempos e às vezes alguns programas fechavam sem avisar. A suspeita era memória RAM com problema.

Resolvi executar um teste e realmente era problema na memória. Se você quer economizar um dinheiro, ao invés de comprar uma outra memória, pode utilizar um recurso no linux que permite evitar o acesso da memória em áreas com defeito. Esse recurso é conhecido como BadRAM: http://rick.vanrein.org/linux/badram/.

O procedimento é bem simples. Antes de iniciar o Linux, acesso o Grub e escolha a opção Memtest. Caso você não tenha essa opção, baixe nesse site, e inicialize ele.

Escolha a opção "(c) configuration", "(4) Error Report Mode" e "(3) BadRAM Patterns". Execute os testes e aguarde pelos erros :).

Memtest
Memtest

Após finalizar os testes, anote o valor que deu na linha em vermelho (ou na última linha em vermelho se deu mais que um erro). Inicie o Linux, e abra o arquivo /etc/default/grub e adicione a seguinte linha:

GRUB_BADRAM="0xbfb1e03c,0xfffffffc"

Substitua os valores para os resultados obtidos no memtest. Atualize o Grub:

sudo update-grub

E pronto! Sem mais restarts e erros estranhos. O acesso às regiões defeituosas de memória é evitado pelo Linux. Dessa forma conseguimos reaproveitar memórias danificadas. O procedimento foi realizado em um Ubuntu, mas com pequenas alterações pode ser executado em qualquer distribuição que utilize o Grub2.

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6