Python · Avançado · Inglês · Técnico
tracemalloc
Módulo que rastreia as alocações de memória feitas pelo Python, mostrando em que linhas do código a memória foi pedida. Ajuda a achar vazamentos e picos de uso.
Onde usar
Aparece quando um serviço cresce em memória e ninguém sabe por quê. Comparam-se dois snapshots para ver quais linhas mais alocaram entre eles.
Em código
import tracemalloc
tracemalloc.start()
dados = [str(i) for i in range(10000)]
snap = tracemalloc.take_snapshot()
for s in snap.statistics('lineno')[:1]:
print(s)Exemplos
Take a tracemalloc snapshot before and after the request.
Tire um snapshot do tracemalloc antes e depois da requisição.
tracemalloc says this line allocates most of the memory.
O tracemalloc diz que essa linha aloca a maior parte da memória.
Cuidado
Ativar o rastreamento deixa o programa mais lento e gasta memória extra; use em investigação, e não o deixe ligado por padrão em produção.
Origem
Junção de trace, rastrear, com malloc, a função de alocação de memória da linguagem C.