Выбор ответа Middle Память, GC и pprof спрашивают часто обновлено
inuse_space и alloc_space в pprof
Вопрос
Ищем утечку памяти по heap-профилю. Какой режим смотреть?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: inusespace: что живо сейчас, сравнить два снимка. inusespace показывает живые объекты на момент последней сборки, растущий участок между снимками (-diffbase) указывает на утечку. allocspace полезен для поиска давления на GC: кто много выделяет, даже если сразу освобождает.
Варианты ответа
alloc_space: суммарные выделения с начала работыinuse_space: что живо сейчас, сравнить два снимкаправильный ответ- CPU-профиль: утечка видна по времени в malloc
- block-профиль: он показывает удержанную память
Разбор
inuse_space показывает живые объекты на момент последней сборки, растущий участок между снимками (-diff_base) указывает на утечку. alloc_space полезен для поиска давления на GC: кто много выделяет, даже если сразу освобождает. CPU и block-профили про время, а не память. Если же растёт число горутин, смотрят профиль goroutine.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Память, GC и pprof»
- Пул объектов как sync.Pool: симуляция на Go
- Статистика потока чисел без хранения на Go
- Escape analysis: что попадёт в кучу
- Как работает сборщик мусора Go
- Какой сборщик мусора в Go
- Как посмотреть решения escape analysis
- Что значит GOGC=100
- Инструменты диагностики Go