Python Glossary English

Python 3.4+tracemallocфункция

tracemalloc.take_snapshot()

снимки

Делает снимок всех текущих трасс выделений памяти и возвращает объект Snapshot для анализа.

Синтаксис

snapshot = tracemalloc.take_snapshot()

Без запущенной трассировки поднимает RuntimeError. Снимок — копия на момент вызова: по одному снимку виден лишь текущий расклад, а утечку показывает разность двух снимков через compare_to(). Снимок большой программы сам занимает заметную память и делается не мгновенно — не зовите его в горячем цикле.

Примеры

import tracemalloc
try:
    tracemalloc.take_snapshot()
except RuntimeError as e:
    print(type(e).__name__)  # → RuntimeError
import tracemalloc
tracemalloc.start()
words = [str(i) * 10 for i in range(5000)]
snap = tracemalloc.take_snapshot()
top = snap.statistics('lineno')[0]
print(top.traceback[0].lineno)  # → 3
tracemalloc.stop()

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности