Diferenças entre edições de "Vazamento de memória"

2 276 bytes adicionados ,  21h30min de 30 de março de 2019
Adiciona seção Efeitos, traduzida da Wikipedia en https://en.wikipedia.org/w/index.php?title=Memory_leak&oldid=885619441
(Adiciona seção Efeitos, traduzida da Wikipedia en https://en.wikipedia.org/w/index.php?title=Memory_leak&oldid=885619441)
 
Como os vazamentos de memória podem exaurir a memória do sistema conforme a aplicação roda, eles são um frequente fator contribuinte para o [[envelhecimento de software]].
 
== Efeitos ==
Se um programa tem vazamento de memória e seu uso aumenta de maneira estável, geralmente não haverá um sintoma imediato. Como todo sistema físico tem uma quantia finita de memória, e se o vazamento de memória não for contido (por exemplo, ao reiniciar o programa), isso irá eventualmente causa problemas.
 
Quando toda a memória de um sistema for exaurida (seja ela memória virtual ou apenas memória principal, como num sistema embarcado), qualquer tentativa de alocação de memória irá falhar. Isso usualmente faz o programa que tenta alocar memória terminar ou gerar uma [[falha de segmentação]]. Alguns programas são projetados para se recuperar dessa situação (possivelmente por usar memória pré-reservada como fallback).
 
Alguns sistemas operacionais [[multitarefa]] tem mecanismos especiais para lidar com falta de memória, como matar processos aleatoriamente (o que pode afetar processos "inocentes"), or matar o maior processo na memória (que presumivelmente está causando o problema). Alguns sistemas operacionais tem um limite de memória por processo, para impedir qualquer
 
Se o vazamento de memória for no [[kernel]], o sistema operacional provavelmente irá falhar. Computadores sem gerenciamento de memória sofisticado, como [[sistema embarcado|sistemas embarcados]], poderá falhar completamente com um vazamento persistente de memória.
 
Sistemas publicamente acessíveis, como [[servidor web|servidores web]] ou [[roteador]]es são suscetíveis a [[negação de serviço|ataques de negação de serviço]] se um invasor descobrir uma sequência de operações que pode ativar um vazamento. Tal sequência é um exemplo de [[exploit]].
 
[[File:Sample sawtooth.jpg|thumb|O padrão "dente de serra" de utilização de memória: a queda repentina no uso de memória é uma candidata a sintoma de vazamento de memória.]]
 
Um padrão de utilização de memória "sawtooth" pode ser um indicador de um vazamento de memória dentro de uma aplicação, particularmente se uma queda vertical coincide com reinicialização do sistema ou reinicio da aplicação. Deve haver cuidado, no entanto, porque o ponto de coleta de lixo do [[garbage collector]] também podem causar tal padrão e mostraria um uso saudável da pilha.
 
== Exemplo ==
97

edições