Сообщество / Новая тема

Обсуждение статьиПервый комментарий откроет обсуждение — дальше все вопросы по этой статье будут собираться здесь

Об статье:
Почему освобождённая память не возвращается системе: как устроен malloc

Вы вызвали free() для гигабайта данных, приложение отчиталось, что объекты уничтожены, а top как показывал 2 ГБ RSS, так и показывает. Первая мысль — утечка памяти. Вторая, после часа с valgrind и пустыми руками — что-то не так с самим top. На самом деле не так ни то, ни другое: так и должен вести себя аллокатор памяти в Linux, и если вы администрируете долгоживущие процессы (базы, воркеры очередей, JVM, Node.js), полезно понимать, почему это происходит и как отличить нормальное поведение от настоящей утечки.

Подробнее →