Vazamento de Memória
O processo de vazamento de memória representa um aumento gradual no volume de memória RAM consumido por um programa em execução. Geralmente, é consequência de um erro no programa, devido ao qual a memória não utilizada não é liberada.
Vazamentos de memória são especialmente perigosos em programas que executam por longos períodos sem reinicialização. Nesse caso, após algum tempo, esse programa pode esgotar todo o volume disponível de memória RAM, o que levará à parada de emergência do programa ou, pior ainda, a um funcionamento incorreto.
Existem as seguintes maneiras de prevenir vazamentos de memória:
- Uso de coletores de lixo, que liberam memória não utilizada, mas que, ao mesmo tempo, consomem parte dos recursos do sistema para seu funcionamento, o que causa lentidão ou travamentos.
- Reinicialização do programa por meio de um programa externo, como resultado da qual, após o término da execução do programa, toda a memória é devolvida ao sistema e os vazamentos se tornam menos severos.
- Abster-se do uso de alocação dinâmica de memória, o que, por sua vez, evita tais erros, mas também limita a funcionalidade dos programas.
- Uso de ponteiros proprietários (owning pointers) para sincronizar o tempo de vida do ponteiro e o tempo de vida do objeto para o qual ele aponta. No entanto, este método não é adequado para referências cíclicas entre objetos.
Veja também
-
período tempo de execução,
durante o qual um programa é executado -
Dados de Origem,
que representam a localização dos dados -
conjunto de programas Software,
que garante o funcionamento de aplicativos -
conjunto de programas Sistema Operacional,
que garante o gerenciamento dos sistemas do computador