← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 44: Пошук витоків памʼяті

Технологія: Python

Номер лабораторної: 44 · Рівень: middle

Тема: Управління памʼяттю і профілінг

Повний опис / сценарій лабораторної:

Meta: навчитися знаходити підозрілі місця у коді які споживають надто багато памʼяті.



Krok 1. Створити файл src/app/mem44.py.

Komandi: cd ~/python_lab1/src; touch app/mem44.py



Krok 2. Додати код який створює великий список або словник у циклі.



Krok 3. Увімкнути tracemalloc на початку програми.

Poyasnennya: використай tracemalloc start.



Krok 4. Після кількох ітерацій зробити snapshot і подивитися статистику за файлами.



Krok 5. Вивести топ місць за виділенням памʼяті.



Krok 6. Внести зміну у код щоб звільняти структури даних або використовувати генератори замість списків.



Krok 7. Повторити вимір і порівняти статистику.



Krok 8. Занотувати типові причини витоків памʼяті у довгоживучих сервісах на Python.



Krok 9. Продумати як інтегрувати періодичний моніторинг памʼяті у прод середовище.



Krok 10. Mini zvit.

Zavdannya: опиши стратегію реагування якщо сервіс стабільно росте у споживанні памʼяті.