Sobes.tech
Junior — Middle

Como detectar uma fuga de memória numa aplicação?

sobes.tech IA

Resposta da IA

Pode detectar vazamentos de memória das seguintes formas:

  • Monitorização do uso de memória: Acompanhar o aumento do consumo de memória da aplicação ao longo do tempo usando ferramentas do sistema (por exemplo, top, htop, Gerenciador de Tarefas).
  • Perfil de memória: Utilizar perfiladores especializados (por exemplo, Valgrind, VisualVM, Memory Profiler para Python) que mostram objetos que não são libertados após o uso.
  • Registo e análise: Implementar logs que registam a criação e eliminação de objetos para identificar inconsistências.

Exemplo para Python usando tracemalloc:

import tracemalloc

tracemalloc.start()

# código da aplicação

snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')

for stat in top_stats[:10]:
    print(stat)

Isto ajudará a encontrar os locais onde a memória é alocada, mas não libertada.