TGViewer
Библиотека собеса по Python | вопросы с собеседований Библиотека собеса по Python | вопросы с собеседований @py_interview_lib · 5.91K subscribers
Post #1352 645
Долгоживущий Python-сервис после пиков удерживает высокий RSS, хотя счётчик объектов стабилен и tracemalloc показывает, что большинство аллокаций освобождены. Почему память «не возвращается ОС» и как это чинить?

Это не утечка в логике, а фрагментация/поведение аллокаторов: pymalloc и glibc malloc держат арены/пулы, ОС не всегда может их отдать обратно. Смешение «долгоживущих» и «короткоживущих» объектов усугубляет фрагментацию.
Лечение: снижать churn и фрагментацию (reuse буферов, __slots__, пулы объектов, векторизация/NumPy вместо мелких аллокаций), разводить по жизненным циклам крупные структуры, выносить большие буферы в управляемые bytearray/мемпулы. На уровне рантайма — использовать jemalloc или аккуратно вызывать malloc_trim(0) (Linux) в моменты покоя. Архитектурно — модель процессов с ротацией воркеров (gunicorn --max-requests/--max-requests-jitter, uvicorn multiple workers), чтобы «сбрасывать» фрагментированную память. Профилировать: сравнивать RSS vs tracemalloc, смотреть malloc_info(), psutil и горячие аллокации.

Библиотека собеса по Python
More from @py_interview_lib
  1. Sep 15, 2026Как спроектировать безопасную плагинную систему без «грязных» импортов? Определите стабиль…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 5, 2026У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагр…
  4. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 5, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Jul 30, 2026Как спроектировать CLI-утилиту с подкомандами, автокомплитом и хорошей тестируемостью? Пос…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →