Os vazamentos de memória ainda são possíveis com o sistema operacional moderno?

0

Os vazamentos de memória ainda são possíveis no SO moderno quando o aplicativo sai? Pelo que entendi, o SO moderno gerencia a memória muito bem e limpará a memória assim que o aplicativo sair. Isso significa que sempre que houver um vazamento de memória, posso simplesmente sair do aplicativo incorreto para corrigir o problema. Isso é verdade?

Da mesma forma, vazamentos de memória são possíveis na GPU? Estou assumindo que, como o sistema operacional gerencia apenas a memória da CPU, as GPUs são muito mais propensas a vazamentos de memória devido a falhas. Existe um mecanismo semelhante nos drivers que monitora a qual aplicativo a memória pertence na GPU? Ou é a única solução para vazamentos de memória GPU uma reinicialização completa?

Edit: Nota: Estou perguntando quando o aplicativo sai. Estou ciente de que os vazamentos de memória são possíveis para qualquer idioma durante o tempo de execução do aplicativo. O que estou perguntando é o que acontece quando o aplicativo sai, esperada ou inesperadamente devido a uma exceção, para a memória da CPU e da GPU.

DarkDestry
fonte
Vazamentos de memória dependem do acesso / uso de sua RAM por um aplicativo. Eles geralmente ocorrem quando um programa não é otimizado para reutilizar a memória que foi alocada ou será realocada. Para simplificar: alguns programas não despejam o cache em excesso e, como tal, o programa consome mais e mais memória, causando vazamentos de memória.
t a b designworks
Embora a resposta geral seja sim, sinto que esta questão é baseada principalmente em opinião.
LPChip
2
Observe que um vazamento de memória deixa de existir quando um programa sai. Vazamentos de memória são internos a um aplicativo e só ocorrem quando o programa está em execução. Uma vez encerrada, toda a memória em uso pelo aplicativo é recuperada, mesmo se o aplicativo estivesse gerenciando essa memória incorretamente. Vazamentos de memória são fenômenos muito específicos experimentados por aplicativos que usam uma estrutura de heap para armazenar dados em tipos de dados abstratos. não se refere a perdas mais gerais de memória disponível, ou mesmo aplicativos que usam muita memória ou aumentam seu consumo ao longo do tempo.
Frank Thomas
@FrankThomas Obrigado pela resposta. Isso foi o que estou procurando. Você pode estender a lógica para a memória da GPU? o mesmo se aplica à memória da GPU?
DarkDestry

Respostas:

0

Sim, eles ainda são possíveis. Eles ocorrem quando um programador aloca memória e não libera essa memória quando eles terminam.

WayneB
fonte
Eu sei que ainda são possíveis dentro do tempo de execução de um programa. Eu sei que é possível mesmo com linguagens de alto nível. A questão é quando o aplicativo sai.
DarkDestry