Встречается на собеседованиях • сегодня

Как понять, в чем проблема, когда приложение потребляет много памяти

Для диагностики проблем с памятью в Python можно использовать несколько подходов:

  1. Встроенные инструменты:
python
import sys
obj = "some string"
print(sys.getsizeof(obj))  # размер объекта в байтах
  1. Memory profiler:
python
from memory_profiler import profile

@profile
def memory_intensive_func():
# код с подозрением на утечку
pass

text

3. **tracemalloc** (встроенный модуль):
```python
import tracemalloc
tracemalloc.start()
# выполнение кода
snapshot = tracemalloc.take_snapshot()
for stat in snapshot.statistics('lineno')[:10]:
    print(stat)

Основные причины утечек:

  • Циклические ссылки (используйте gc.collect())
  • Неограниченный рост кешей/списков/словарей
  • Большие структуры данных (используйте генераторы вместо списков)
  • Утечки в C-расширениях

Для анализа также полезны:

  • objgraph для визуализации графа объектов
  • pympler для детального анализа использования памяти
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы