Atualizado em November 2024: Pare de receber mensagens de erro que tornam seu sistema mais lento, utilizando nossa ferramenta de otimização. Faça o download agora neste link aqui.
- Faça o download e instale a ferramenta de reparo aqui..
- Deixe o software escanear seu computador.
- A ferramenta irá então reparar seu computador.
A
Vazamento da memória
é um desperdício de recursos num programa de computador devido a uma má alocação de memória. Ele acontece quando uma posição de memória de acesso aleatório não no uso permanece inédita. 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 memória de acesso aleatório do que necessário. Um vazamento de memória em um sistema Windows 10/8/8/7 é dito ter ocorrido quando a memória não é simplesmente acessível apesar de não estar em uso.
Tabela de Conteúdos
Vazamentos de memória no Windows 10
Antes de começar, você deve saber que o vazamento de memória é um problema de software para depurar – por exemplo, em Java, JavaScript, C/C++, Windows, etc. Substituir fisicamente a RAM ou o disco rígido não é necessário.
Porque é que é mau
É óbvio que um vazamento de memória é ruim porque é um bug, uma falha no sistema. Mas vamos descobrir como isso afeta exatamente o sistema:
- Desde que a memória não é liberada mesmo quando não está em uso, resulta em esgotamento da memória.
- Exaustão da memória resulta no envelhecimento do software
- A memória disponível reduzida leva ao aumento do tempo de resposta e ao mau desempenho do sistema.
- O vazamento de memória não verificado pode eventualmente levar ao travamento 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, temos de o identificar primeiro. Os passos básicos para localizar um vazamento de memória são:
-
Afirmação
: Determinando se um vazamento ocorreu. -
Encontrando vazamento de memória no modo Kernel
: Localizando um vazamento causado por um componente de driver do kernel-mode. -
Encontrando vazamento de memória no modo de usuário
: Localizando um vazamento causado por driver ou app de modo de usuário
Alocação de memória
Existem diferentes modos em que as aplicações alocam RAM. Se o espaço não for liberado depois do uso, o vazamento de memória ocorrerá independentemente do modo da alocação. Alguns padrões comuns de alocação são:
- Função HealAlloc para alocação de memória heap. Os equivalentes de tempo de execução C/C+++ são malloc e novos.
- Função VirtualAlloc para alocação direta de OS.
- APIs do Kernel32 para manter a memória do kernel para o aplicativo. Exemplo, CreateFile, CreateThread.
- APIs User32 e APIs Gdi32.
Prevenção de vazamentos de memória
Atualizado: novembro 2024.
Recomendamos que você tente usar esta nova ferramenta. Ele corrige uma ampla gama de erros do computador, bem como proteger contra coisas como perda de arquivos, malware, falhas de hardware e otimiza o seu PC para o máximo desempenho. Ele corrigiu o nosso PC mais rápido do que fazer isso manualmente:
- Etapa 1: download da ferramenta do reparo & do optimizer do PC (Windows 10, 8, 7, XP, Vista - certificado ouro de Microsoft).
- Etapa 2: Clique em Iniciar Scan para encontrar problemas no registro do Windows que possam estar causando problemas no PC.
- Clique em Reparar tudo para corrigir todos os problemas
Todos nós sabemos que a prevenção é melhor do que a cura, então aqui estão algumas maneiras de prevenir um vazamento de memória.
Monitoramento de hábitos
Você precisa ficar de olho no uso anormal da RAM por programas e aplicativos individuais. Você pode ir para o Windows Task Manager pressionando
CTRL+SHIFT+ESC
e adicione as colunas como Handles, User Objects, GDI Objects, etc.
Isso o ajudará a monitorar facilmente o uso de recursos.
Microsoft ferramentas para diagnosticar vazamentos de memória
Várias ferramentas diagnosticam vazamentos de memória para vários modos de alocação:
- O verificador de aplicações diagnostica fugas de urina.
- UMDH (um componente do Windows Debugging Tools) diagnostica vazamentos para processos individuais através do monitoramento de alocações de memória heap.
- Captura de traços para uma análise completa do uso da RAM
- O Xperf também rastreia padrões de alocação de pilha.
- O CRT Debug Heap não apenas rastreia alocações de heap, mas também permite que práticas de codificação minimizem vazamentos.
- O Detector de Fugas de Memória JavaScript detecta fugas de memória em códigos.
Usage Tips(Alaska)
-
Usar o kernel
HANDLE
s e outros ponteiros inteligentes para recursos Win32 e alocações heap. -
Obtenha classes para gerenciamento automático de recursos para alocações de kernel a partir da biblioteca ATL. O padrão C++ tem
auto_ptr
para alocações em pilha. -
Encapsular ponteiros de interface COM em ponteiros inteligentes com a ajuda de
_com_ptr_t
ou
_bstr_t
ou
_variant_t - Monitore o código .net para uso anormal de memória.
- Evite caminhos de saída múltiplos para funções que permitem que alocações sejam liberadas de variáveis na maioria dos blocos no final de uma função.
- Use exceções nativas somente depois de liberar todas as alocações no bloco _finalmente. Envolver todos os heap e lidar com alocações em ponteiros inteligentes, a fim de usar exceções C++.
-
Sempre chame o
PropVariantClear
antes de reinicializar ou descartar um objeto PROPVARIANTE.
Solução de problemas de vazamentos de memória no Windows
Assim como as várias maneiras de prevenir vazamentos de memória, existem várias maneiras de parar vazamentos de memória.
1] Fechar processos e reiniciar.
Se você vê que um processo desnecessário está ocupando muita RAM, você pode terminar 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 Restart memory leak issue não será resolvido. Um processo particular que tem bugs para diminuir a velocidade do PC é o Runtime Broker. Tente se desabilitar isso sozinho funcionar.
2] Ferramentas de diagnóstico de memória
Para acessar a ferramenta de diagnóstico de memória integrada para Windows:
- Guarda todo o teu trabalho importante.
-
Imprensa
Win + R
para abrir o
Run
janela -
Digite o comando
mdsched.exe(Alaska)
no
Run
janela - Reinicie o PC.
-
Após uma reinicialização, execute uma verificação básica ou vá para o ‘
Avançado
opções como ‘
Mistura de teste
” ou ”
Número de passes
“ -
Imprensa
F10
para iniciar o teste.
Estas ainda são correções temporárias.
3] Verifique se há atualizações do driver
Drivers desatualizados causam vazamentos de memória. Mantenha todos os drivers atualizados:
-
Imprensa
Win + R
e abrir o
Run
janela. Tipo
devmgmt.msc(Alaska)
e pressione Enter. Ele irá levá-lo para o
Gerenciador de dispositivos - Verifique se há drivers desatualizados e atualize-os todos.
- Para atualizações que você pode ter perdido, verifique no Windows Update.
Isto foi simples.
4] Otimizar o desempenho
Ajustar o Windows para o desempenho irá gerir tudo, incluindo a programação do processador e a utilização da memória para impedir fugas de memória. Siga estes passos:
-
Clique com o botão direito do mouse em ‘
Este PC
e selecione ‘
Avançado
definições no painel esquerdo. -
Sob o ”
Avançado
‘tab, vá para ‘
Performance
seguida de ”
Configurações
“ -
Cheque ‘
Ajuste para melhor desempenho
e clique em
OK - Reinicie e verifique se o problema está resolvido.
Se essa solução simples não funcionou, tente a próxima solução.
5] Desativar Programas rodando na inicialização (Alaska)
Desabilitar os programas problemáticos é a única maneira de se livrar da questão de vazamento de memória. Vá até Task Manager e desative o programa problemático. Se você não sabe quais programas estão criando o problema, faça isto:
-
Ir para ‘
Gerente de Tarefas
“ -
Ir para ‘
Arranque
“ - 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 para você automaticamente, você pode precisar desfragmentar os discos rígidos ocasionalmente para otimizar o desempenho:
-
Ir para ‘
Este PC
” ou ”
My Computer(Alaska)
“ - Clique com o botão direito do mouse no disco rígido do sistema (geralmente C: drive).
-
Ir para ‘
Ferramentas
sob ‘
Imóveis
e selecione ‘
Optimize
“ -
Selecione a unidade a desfragmentar e selecione ‘
Analisar
“
Reinicie seu computador após a nova fragmentação.
7] Arquivo ClearPage no desligamento
Está a ficar complexo agora, mas não te preocupes. Veja como limpar o Arquivo de Página a cada desligamento:
-
Tipo
regedit
on Search para iniciar o Editor de Registro. -
Entrar este caminho:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management -
Modificar o valor de
ClearPageFileAtShutShutDown para ‘1’. - Guarde as alterações e reinicie o dispositivo.
Isto deve bastar.
9] Desativar Superfetch
Este serviço do Windows otimiza o desempenho ao minimizar o tempo de inicialização. Ele permite que o Windows gerencie o uso da RAM. A vida depois de desativar o Superfetch não é conveniente, mas faça-o se for necessário. Pelo menos tente isso sozinho para isolar o problema:
-
Busca
services.msc
e ir a Gerente de Serviços. -
Procure por ‘
Superfetch
e clique com o botão direito para ir para o Alabama.
Imóveis
“ -
Selecione ‘
Stop
“ -
Também ‘
Deficiência
o serviço a partir do menu drop-down. - Reinicie o PC e verifique se o desempenho melhorou.
Habilita o Superfetch se este não funcionar.
10] Procurar malware(Alaska)
Use um software antivírus de terceiros ou o Windows 10’s in-house Windows Defender para verificar e eliminar malware. Certifique-se de que o antivírus esteja atualizado para suportar seu sistema operacional, para que ele não acabe se tornando o motivo do vazamento de memória
.
Todas as soluções que você pode precisar para encontrar ou evitar vazamentos de memória estão aqui mesmo. Você pode ler mais sobre vazamentos de memória em MSDN e Microsoft.
RECOMENDADO: Clique aqui para solucionar erros do Windows e otimizar o desempenho do sistema
Enzo é um fã entusiasta do Windows que gosta de resolver problemas do Windows em particular e falar sobre tecnologias MS em geral.