значение количества кучи golang pprof

#go #pprof

#Вперед #pprof

Вопрос:

Описание

Я пытаюсь использовать pprof для профилирования моей программы, и я использую

 import _ net/http/pprof to add /debug/pprof endpoints in my service.
  

доступ в браузере:

 http://ip:port/debug/pprof/
  

тогда у меня будет следующая страница:

отладка-pprof-куча

Каждый раз, когда я пытаюсь обновить эту страницу, число в полях продолжает увеличиваться!!

Когда я перехожу по ссылке:http://ip:port/debug/pprof/heap ?debug=1

я увижу следующее:

debug-pprof-heap-detail

здесь 4 числа :

 2508: 273338776 [4733405: 12257136096]
  

означает inuse_objects: inuse_space [все_объекты: alloc_space], я прав?

Вопрос

Что на самом деле означают эти два числа в полях?

Имеет ли «количество кучи» какое-либо отношение к inuse_objects ?

Ответ №1:

Проверка шаблона для индексной страницы показывает, что подсчет производится pprof.Профиль.Количество:

Count возвращает количество стеков выполнения, находящихся в данный момент в профиле.

Другими словами, страница индекса показывает количество выборок, которые были собраны для каждого типа профиля на данный момент. Они не связаны с какой-либо конкретной метрикой, такой как inuse_objects или inuse_space.

Комментарии:

1. Указывает ли увеличение этих двух чисел на утечку памяти?

2. @kvh, нет, совсем нет. Это означает, что со временем в профиль добавляется больше выборок. Очевидно, что поведение программы может меняться со временем, поэтому непрерывное профилирование вполне ожидаемо.