Como corrigir o BSOD MEMORY_MANAGEMENT e ATTEMPTED_WRITE_TO_READONLY_MEMORY no Windows 10

4

Portanto, após 3 anos de uso de uma nova instalação do Windows 7 x64, tenho que atualizar para o Windows 10 por motivos de trabalho.

Eu fiz o download da última imagem de compilação do Windows 10 Pro (1803) da Microsoft e usei o Rufus 3.1 para criar um disco flash inicializável.

Eu fiz uma nova instalação no meu SSD (formatando-o anteriormente) e depois de alguns dias usando o computador, comecei a receber BSODs aleatórios. Cerca de 1 ou 2 por dia.

O erro BSODs é MEMORY_MANAGEMENT ou ATTEMPTED_WRITE_TO_READONLY_MEMORY.

Coisas que eu tentei:

  • Execute 2 etapas do Diagnóstico de Memória do Windows. Sem erros.
  • Executar sfc /scannow . Sem erros.
  • Atualizou os drivers da GPU para o mais recente (Nvidia Geforce GTX 970)
  • BIOS atualizado para a versão mais recente (de 0802 a 0803 na ASUS Z-97E)

Eu poderia ter apenas alguns BSODs nos 3 anos do Windows 7, então não acho que seja um problema relacionado a hardware. As BSODs começaram logo após a instalação do Windows 10.

Como eu abro o MEMORY.DMP gerado pelo Windows e o que eu vejo lá para ver o que está causando o BSODs?

Mais alguma coisa que eu possa tentar?

UPDATE Eu abri C: \ MEMORY.DMP com WinDbg x64 e aqui está o resultado: link

UPDATE 2 Eu acabei de ter outro BSOD. Desta vez foi SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION .
Despeje aqui: link

ATUALIZAÇÃO 3 Arquivos Minidumps

UPDATE 4
Eu corri o memtest a noite toda e tenho muitos erros. Eu acho que tenho RAM defeituosa. Temos certeza de que esta RAM está com defeito, certo? Vai ser consertado quando eu substituir certo? Não há como saber quais bastões estão com defeito? Tem que removê-los e executar memtest novamente para saber qual deles?
Aqui estão os resultados: link

    
por emzero 02.09.2018 / 00:02

3 respostas

10

A causa mais provável desse tipo de falha é a memória defeituosa. Como sugerido por harrymc, a primeira coisa a tentar é executar um programa de teste de memória, como o Windows Memory Diagnostic (incluído no Windows), o > MemTest86 original (mantido pelo Software PassMark), ou o código-fonte aberto Memtest86+ . (Eu adicionei esta seção para o benefício de outros leitores aqui que podem estar tendo problemas semelhantes, mas que não tentaram testar a memória.)

O autor da pergunta pode pular esta seção. Está sendo retido para referência por outros leitores.

Se o teste de memória passar, você pode ter um processador defeituoso.

O controlador de memória integrado (IMC) do processador pode algumas vezes causar problemas de memória. Operações simples de memória, como a leitura de dados de locais de memória específicos, podem funcionar normalmente, mas a capacidade do processador de realizar operações essenciais de gerenciamento de memória, incluindo memória virtual , não são testados por programas de teste de memória.

Outra possibilidade é um cache defeituoso. Caches são pequenas quantidades de memória dentro do processador usado para acelerar os acessos à memória. Embora seu processador possa detectar erros de cache (e gerar uma exceção de verificação de máquina quando isso acontecer, causando WHEA_UNCORRECTABLE_ERROR BSOD), não é impossível que os dados no cache sejam corrompidos e causem corrupção de memória sem que o próprio processador perceba. Isso também não seria detectado pelo software de teste de memória.

Para verificar o IMC, faça o download do programa de diagnóstico do processador da Intel e execute um teste IMC . Para verificar os caches do processador, faça o download do Prime95 e execute o teste de tortura FFTs (seu processador pode ficar muito quente ou os ventiladores podem funcionar alto, isso é normal). Se um dos testes falhar, você provavelmente precisará substituir o processador. (Estou supondo que o processador e a memória não estejam em overclock ou sejam operados fora das especificações.)

Como você executou um teste de memória e encontrou erros, deve ser óbvio que um ou mais módulos de memória precisam ser substituídos. Posso recolher mais informações do relatório que você publicou.

Os erros ocorrem em uma região específica da memória, em torno de 0x19BDD79F0, o que limitaria o problema a um módulo. O endereço sugere, mas não confirma, que o problema está em um dos módulos da Memória Patriota.

Como a memória na maioria dos sistemas, incluindo a sua, funciona melhor em pares, tente remover ambos os módulos de qualquer marca e execute novamente o teste. Se isso não funcionar, reinstale os módulos removidos e remova o outro par. Se o problema desaparecer, você pode usar o sistema normalmente até obter módulos de memória de substituição.

Devo observar que o Windows 10 usa técnicas mais avançadas de gerenciamento de memória, incluindo compactação de memória virtual para maximizar o desempenho em sistemas com memória limitada. Embora seu sistema tenha 16 GB de memória, o Windows ainda compactará os dados na memória por padrão (minha área de trabalho tem 32 GB e não é diferente aqui). Os erros de memória são detectados prontamente durante a compactação e a descompactação de dados e causam uma falha imediata na operação, causando a falha do sistema. Erros de memória que afetam o aplicativo descompactado ou outros dados "simplesmente" resultariam em falhas do aplicativo ou arquivos corrompidos (embora ele ainda possa causar falhas no sistema operacional). Por esse motivo, o Windows 10 é mais sensível a erros de memória do que as versões anteriores do Windows.

    
por 04.09.2018 / 01:29
3

Pelos despejos, o erro vem de duas fontes: instrução IRQ e int 3. IRQ significa que algum driver que foi chamado pela interrupção e está com defeito - o que significa que você tem que verificar todos os drivers que você instalou neste sistema para um estar com defeito.

Int 3 é uma interrupção do depurador, o que significa que há algum software (também pode ser driver) que está chamando o ponto de interrupção (int 3) onde não deveria estar. Isso pode acontecer para a versão de depuração do software.

Principalmente esses BSODs vêm de drivers não escritos corretamente, então essa é a fonte onde eu procuraria um problema. Desinstale todos os drivers (ou faça uma nova instalação do sistema operacional) e verifique-os um por um. Entre cada driver, faça um uso maior do sistema (faça 7-zip benchmark, por exemplo) e você encontrará o defeito.

A outra fonte do problema poderia ser CPU ou RAM com overclock, para verificar isso, configure o sistema no BIOS para usar apenas valores nominais do hardware fornecido. Não mais.

    
por 04.09.2018 / 08:25
3

Eu posso ver nos minidespejos que você também teve uma condição de SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION. Eu também notei que todas as suas falhas ocorrem no kernel ou dentro do HAL, mas nunca dentro de qualquer driver de dispositivo, de modo que o problema não é com um dispositivo com defeito específico.

Portanto, é muito provável que sua memória esteja com defeito. O Windows 10 pode estar usando uma parte defeituosa da RAM que não foi usada antes.

Primeiro, examine o Event Viewer para ver se ele contém informações úteis.

Então sugiro que corra MemTest86 :

MemTest86 is the original, free, stand alone memory testing software for x86 computers. MemTest86 boots from a USB flash drive or CD and tests the RAM in your computer for faults using a series of comprehensive algorithms and test patterns.

Você também pode tentar inicializar com um subconjunto de seus RAMs, respeitando o arranjos especificados para a sua placa-mãe, a fim de encontrar o stick ruim.

Notas sobre seus resultados do MemTest86 : você tem milhares de erros. Os testes de endereçamento de memória passaram, então o problema não é com o controlador de memória. Os erros estão com a RAM em si, onde os dados armazenados estão incorretos quando lidos. Isso sugere que pelo menos uma de suas baquetas de memória é ruim, e que o problema não é com a CPU ou com a placa-mãe.

O que você pode fazer

Você pode pegar varas e executar o MemTest86 no subconjunto. Sua placa-mãe é a Asus Z97-E que precisa de pelo menos dois palitos no DIMM_A1 e no DIMM_B1. O diagrama a seguir é da página 1-7 do manual :

Colocar quaisquer dois bastões da mesma marca e testar, estreitará campo para os bastões Corsair ou Patriot. Quando você conhece as duas varas das quais uma só (espero) é ruim, Você pode tentar misturar varas de diferentes fabricantes. Suas especificações parecem idênticas, então isso pode funcionar.

Também pode ser que colocar apenas um bastão no DIMM_A1 funcione o suficiente para MemTest86. O diagrama do manual não está claro e pode indicar que um stick pode funcionar tanto no DIMM_A1 quanto no DIMM_B1. Mesmo que esse não seja o caso, às vezes configurações não recomendadas podem ainda funciona um pouco, dependendo da placa-mãe.

    
por 04.09.2018 / 07:50