Encontre e corrija vazamentos de memória no Windows 10/8/7

Índice:

Encontre e corrija vazamentos de memória no Windows 10/8/7
Encontre e corrija vazamentos de memória no Windows 10/8/7

Vídeo: Encontre e corrija vazamentos de memória no Windows 10/8/7

Vídeo: Encontre e corrija vazamentos de memória no Windows 10/8/7
Vídeo: Microsoft Office 365 - Licença Gratuita e original - Tutorial - YouTube 2024, Novembro
Anonim

UMA Vazamento de memória é uma extravio de recurso em um programa de computador devido à alocação incorreta de memória. Isso acontece quando um local de RAM não em uso permanece inédito. Um vazamento de memória não deve ser confundido com um vazamento de espaço, que se refere a um programa que usa mais RAM do que o necessário. Um vazamento de memória em um sistema Windows 10/8/7 é dito ter ocorrido quando a memória não é acessível, apesar de não estar em uso.

Vazamentos de memória no Windows 10

Antes de começar, você deve saber que Vazamento de memória é um problema de software para depuração - por exemplo, em Java, JavaScript, C / C ++, Windows, etc. Substituir fisicamente RAM ou disco rígido não é necessário.

Image
Image

Por que isso é ruim?

É óbvio que um vazamento de memória é ruim porque é um bug, uma falha no sistema. Mas vamos descobrir exatamente como isso afeta o sistema:

  1. Como a memória não é liberada mesmo quando não está em uso, isso resulta em esgotamento da memória.
  2. O esgotamento da memória resulta no envelhecimento do software.
  3. A memória disponível reduzida leva a um aumento do tempo de resposta e a um desempenho ruim do sistema.
  4. Vazamento de memória não verificado pode eventualmente levar à falha de um aplicativo.

Para identificar um vazamento de memória, um programador precisa ter acesso ao código-fonte do programa.

Localizando o vazamento

Para resolver um problema, precisamos identificá-lo primeiro. As etapas básicas para localizar um vazamento de memória são:

  1. Afirmação: Determinando se um vazamento ocorreu.
  2. Encontrando vazamento de memória no modo kernel: Localizando um vazamento causado por um componente de driver no modo kernel.
  3. Encontrando vazamento de memória no modo de usuário: Localizando um vazamento causado pelo driver ou aplicativo do modo de usuário.

Alocação de memória

Existem diferentes modos nos quais os aplicativos alocam RAM. Se o espaço não for liberado após o uso, o vazamento de memória ocorrerá independentemente do modo de alocação. Alguns padrões comuns de alocação são:

  1. Função HealAlloc para alocação de memória de heap. Os equivalentes de tempo de execução C / C ++ são malloc e new.
  2. Função VirtualAlloc para alocação direta do sistema operacional.
  3. Kernel32 APIs para armazenar a memória do kernel para o aplicativo. Exemplo, CreateFile, CreateThread.
  4. APIs do User32 e APIs do Gdi32.

Evitando vazamentos de memória

Nós todos sabemos que a prevenção é melhor do que remediar, então aqui estão algumas maneiras de evitar um vazamento de memória.

Hábitos de monitoramento

Image
Image

Você precisa manter-se atento ao uso anormal de RAM por programas e aplicativos individuais. Você pode ir para o Gerenciador de Tarefas do Windows pressionando CTRL + SHIFT + ESC e adicione as colunas como Handles, User Objects, GDI Objects, etc.

Isso ajudará você a monitorar facilmente o uso de recursos.

Ferramentas da Microsoft para diagnosticar vazamentos de memória

Várias ferramentas diagnosticam vazamentos de memória para vários modos de alocação:

  1. O Application Verifier diagnostica vazamentos de heap.
  2. UMDH (um componente do Windows Debugging Tools) diagnostica vazamentos para processos individuais, monitorando alocações de memória de heap.
  3. Captura de Captura para uma análise completa do uso de RAM.
  4. O Xperf também rastreia padrões de alocação de heap.
  5. O CRT Debug Heap não apenas rastreia as alocações de heap, mas também permite que as práticas de codificação minimizem os vazamentos.
  6. JavaScript Memory Leak Detector depura vazamentos de memória em códigos.

Dicas de Uso

  1. Use o kernel LIDAR COMe outros ponteiros inteligentes para recursos do Win32 e alocações de heap.
  2. Obter classes para gerenciamento automático de recursos para alocações de kernel da biblioteca ATL. Padrão C ++ tem auto_ptr para alocações de heap.
  3. Encapsular ponteiros de interface COM em "ponteiros inteligentes" com a ajuda de _com_ptr_t ou _bstr_t ou _variant_t.
  4. Monitore o código.NET para uso de memória anormal.
  5. Evite vários caminhos de saída para que as funções sejam liberadas das variáveis na maioria dos blocos até o final de uma função.
  6. Use exceções nativas somente após liberar todas as alocações no bloco _finally. Envolva todo o heap e manipule alocações em ponteiros inteligentes para usar as exceções do C ++.
  7. Sempre ligue para o PropVariantClear função antes de reinicializar ou descartar um objeto PROPVARIANT.

Solução de problemas de vazamentos de memória no Windows

Assim como as várias maneiras de evitar vazamentos de memória, existem várias maneiras de impedir vazamentos de memória.

1] Feche os processos e reinicie.

Se você perceber que um processo desnecessário está ocupando muita RAM, poderá encerrar o processo no Gerenciador de Tarefas. Você precisará reiniciar o dispositivo para que o espaço liberado esteja disponível para uso por outros processos. Sem um problema de vazamento de memória de reinicialização, não será solucionado. Um processo específico que possui bugs para desacelerar o PC é o Runtime Broker. Tente se desabilitar isso sozinho funciona.

2] Ferramentas de diagnóstico de memória

Para acessar a Ferramenta de diagnóstico de memória embutida para Windows:
Para acessar a Ferramenta de diagnóstico de memória embutida para Windows:
  1. Salve todo seu trabalho importante.
  2. pressione Win + R para abrir o Corre janela.
  3. Digite o comando mdsched.exe no Corre janela.
  4. Reinicie o PC.
  5. Depois de um reinício, faça uma verificação básica ou vá para Avançado'Opções como' Teste mix'Ou' Contagem de passes ’.
  6. pressione F10 para iniciar o teste.

Estas ainda são correções temporárias.

3] Verifique se há atualizações de driver

Drivers desatualizados causam vazamentos de memória. Mantenha todos os drivers atualizados:
Drivers desatualizados causam vazamentos de memória. Mantenha todos os drivers atualizados:
  1. pressione Win + R e abra o Corre janela. Tipo devmgmt.msc e pressione Enter. Ele irá levá-lo para o Gerenciador de Dispositivos.
  2. Verifique se há drivers desatualizados e atualize todos eles.
  3. Para atualizações que você pode ter perdido, verifique no Windows Update.

Isso foi simples.

4] Otimizar o desempenho

Ajustar o desempenho do Windows gerenciará tudo, incluindo o agendamento do processador e o uso da memória para interromper o vazamento de memória. Siga esses passos:
Ajustar o desempenho do Windows gerenciará tudo, incluindo o agendamento do processador e o uso da memória para interromper o vazamento de memória. Siga esses passos:
  1. Clique com o botão direito em ‘ Este PC ’E selecione‘ Avançado'Configurações no painel esquerdo.
  2. Debaixo de ' AvançadoAba '‘, vá para‘ atuação', Seguido por ' Definições ’.
  3. Verifica ' Ajuste para melhor performance ’E clique Está bem.
  4. Reinicie e verifique se o problema está resolvido.

Se essa solução simples não funcionar, tente a próxima solução.

5] Desativar programas em execução na inicialização

Desativar os programas problemáticos é a única maneira de se livrar do problema de vazamento de memória. Vá para o Gerenciador de Tarefas e desative o programa de solução de problemas. Se você não sabe quais programas estão criando o problema, faça o seguinte:
Desativar os programas problemáticos é a única maneira de se livrar do problema de vazamento de memória. Vá para o Gerenciador de Tarefas e desative o programa de solução de problemas. Se você não sabe quais programas estão criando o problema, faça o seguinte:
  1. Vamos para ' Gerenciador de tarefas ’.
  2. Vamos para ' Comece ’.
  3. Desative os programas de inicialização que você não precisa executar por padrão.

6] Defrag Hard Drive

Embora o Windows 10 faça isso automaticamente, talvez seja necessário desfragmentar os discos rígidos ocasionalmente para otimizar o desempenho:
Embora o Windows 10 faça isso automaticamente, talvez seja necessário desfragmentar os discos rígidos ocasionalmente para otimizar o desempenho:
  1. Vamos para ' Este PC'Ou' Meu computador ’.
  2. Clique com o botão direito do mouse no disco rígido do sistema (geralmente drive C:).
  3. Vamos para ' Ferramentas' debaixo ' Propriedades ‘E selecione‘ Otimizar ’.
  4. Selecione a unidade para desfragmentar e selecionar " Analisar ’.

Reinicie seu computador após a nova fragmentação.

7] Arquivo do ClearPage no desligamento

Está ficando complexo agora - mas não se preocupe. Veja como limpar o arquivo de paginação a cada desligamento:

  1. Tipo regedit em Pesquisar para iniciar o Editor do Registro.
  2. Digite este caminho: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
  3. Altere o valor de ClearPageFileAtShutDown para "1".
  4. Salve as alterações e reinicie o dispositivo.

Isso deveria ser feito.

9] Desativar Superfetch

Este serviço do Windows otimiza o desempenho minimizando o tempo de inicialização. Ele permite que o Windows gerencie o uso de RAM. A vida após a desativação do Superfetch não é conveniente, mas faça-o se for necessário. Pelo menos tente isso sozinho para isolar o problema:

  1. Procurar services.msc e vá para o Gerenciador de serviços.
  2. Olhe para ' SuperfetchE clique com o botão direito para ir para " Propriedades ’.
  3. Selecione " Pare ’.
  4. Além disso ' Desabilitar'O serviço no menu suspenso.
  5. Reinicie o PC e verifique se o desempenho melhorou.

Ativar Superfetch se este não funcionou.

10] Verifique se há malware

Use um software antivírus de terceiros ou o Windows Defender do Windows 10 para verificar e eliminar malware. Certifique-se de que o antivírus esteja atualizado para oferecer suporte ao seu SO, para que ele não se torne o motivo do vazamento de memória.

Qualquer solução que você possa precisar para encontrar ou evitar vazamentos de memória está aqui. Você pode ler mais sobre vazamentos de memória no MSDN e na Microsoft.

Posts relacionados:

  • Corrigir erros de parada do Windows ou tela azul da morte
  • Por que o Windows mostra menos memória RAM do que o instalado?
  • Faça o Windows 10 iniciar, executar, desligar mais rapidamente
  • Limites de memória física em arquivos de despejo de memória para o Windows 10/8/7
  • Compactação de memória no Windows 10

Recomendado: