Карточка Middle Память, GC и pprof обновлено
Профили pprof
Вопрос
Какие профили есть в net/http/pprof и для чего каждый?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
profile (CPU), heap (память, inuse/alloc), allocs (выделения), goroutine (стеки горутин, утечки), block (ожидание на синхронизации), mutex (конкуренция за мьютексы), threadcreate, trace (через go tool trace).
Ответ
profile (CPU), heap (память, inuse/alloc), allocs (выделения), goroutine (стеки горутин, утечки), block (ожидание на синхронизации), mutex (конкуренция за мьютексы), threadcreate, trace (через go tool trace).
Разбор
block и mutex по умолчанию выключены: runtime.SetBlockProfileRate, runtime.SetMutexProfileFraction.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Память, GC и pprof»
- Пул объектов как sync.Pool: симуляция на Go
- Статистика потока чисел без хранения на Go
- Escape analysis: что попадёт в кучу
- Как работает сборщик мусора Go
- Какой сборщик мусора в Go
- Как посмотреть решения escape analysis
- Что значит GOGC=100
- GOMEMLIMIT в контейнере