RSS вырос до 3 ГБ, а tracemalloc показывает 180 МБ: как найти остальные 2,8

#Разберём #Python-объектов #OOMKilled #Разобраться
RSS вырос до 3 ГБ, а tracemalloc показывает 180 МБ: как найти остальные 2,8

RSS растёт к лимиту контейнера, tracemalloc показывает прежние 180 МБ, а gc.collect() ничего не меняет. Разберём, как в такой ситуации отделить утечку Python-объектов от нативных аллокаций и удержания памяти системным аллокатором — и понять, где именно искать причину до OOMKilled . Разобраться с памятью

Привет, Хабр! Сервис на FastAPI живёт четвёртые сутки, RSS вырос с 400 МБ до 3,2 ГБ, контейнер вот-вот получит OOMKilled. Внутри стоит tracemalloc, и он рисует ровную линию: питоновские объекты занимают те же 180 МБ, что и в первый час. gc.collect() из отладочного endpoint возвращает пару сотен собранных объектов и не меняет ничего.

Ситуация выглядит противоречиво ровно до тех пор, пока не вспомнишь, что RSS процесса и «память, занятая объектами Python» — величины из разных слоёв, и между ними стоят ещё два. Ниже разберём, как эти слои разделить, каким инструментом смотреть на каждый и что делать с результатом.

Три слоя между объектом и страницей памяти

Питоновский объект проходит длинный путь, прежде чем превратиться в страницу физической памяти.

Похожие статьи

Двач
Двач

Испанец хотел снять солнечное затмение на Xiaomi 17 Ultra, но встроенные алгоритмы заменили Солнце на Луну

Испанец хотел снять солнечное затмение на Xiaomi 17 Ultra, но встроенные алгоритмы заменили Солнце на Луну Смартфон сам включил режим суперлуния и просто сгенерировал снимок. Как же похорошели камеры ...

Двач
[Перевод] Технооптимизм vs технопессимизм: два памфлета про эффективность LLM в кодинге Хабр
Хабр

[Перевод] Технооптимизм vs технопессимизм: два памфлета про эффективность LLM в кодинге

Как совсем недавно по историческим меркам мир разделился на сторонников социализма и капитализма, позднее на консерваторов/традиционалистов против сторонников глобализма и размывания границ. А теперь ...

Хабр
Написал валидатор llms.txt на 64 тестах — и проверил, читают ли этот файл боты Хабр
Хабр

Написал валидатор llms.txt на 64 тестах — и проверил, читают ли этот файл боты

Файл llms.txt предлагают класть в корень сайта с 2024 года: считается, что языковые модели прочитают его вместо того, чтобы разбирать вёрстку. Я написал для него генератор и валидатор, проделал 64 тес...

Хабр
Когда уже ИИ дойдёт до менеджмента? Хабр
Хабр

Когда уже ИИ дойдёт до менеджмента?

На Хабре в последнее время вышло две статьи про результаты, так сказать, "внедрения" ИИ в практики ИТ-отрасли: про сломанный найм (не очередная порция эмоций, а вполне законченное исследование вопроса...

Хабр
Шапша сообщил о введении заправки по чётным и нечётным дням в Калужской области Life.ru
Life.ru

Шапша сообщил о введении заправки по чётным и нечётным дням в Калужской области

С 15 августа в Калужской области начнёт действовать система отпуска бензина в зависимости от чётности первой цифры государственного номера автомобиля. Об этом сообщил губернатор региона Владислав Шапш...

Life.ru
TechCrunch
TechCrunch

Databricks wanted to raise $1B, investors wanted $15B. It settled on $5B at a $190B valuation.

AI is expensive, Ali Ghodsi tells TechCrunch. With so many investors wanting into his latest round, he said yes to more than planned.

TechCrunch