go tool pprof -inuse_space намного меньше, чем лучшие шоу linux

Моя программа работает в фоновом режиме. Я использую команду top Linux, это показывает 16g объем памяти. Но когда я хочу использовать идти pprof -inuse_space чтобы проверить точку зрения, я даю только 200M, Куда уходит другая память?

1 ответ

Как правило, память, используемая в os(показана top VIRT) больше, чем pprof. Одна из причин в том, что gc произойдет, когда размер кучи> ($GOGC% + 1) * (размер достижимых узлов): https://blog.golang.org/go15gc. По умолчанию $ GOGC равен 100, это означает, что объем памяти будет в два раза больше размера кучи, показанного pprof. Но вы, кажется, не в этом случае.

Другие вопросы по тегам