2016-12-28 4 views
1

Я разрабатываю веб-программу с картой Go revel (моя версия - 1.6.2). И у меня проблемы с использованием памяти. Память, занимаемая revel, ежедневно увеличивается почти на сотни МБ. Поэтому я хочу настроить программу. Затем я научился использовать go pprof и использовать revel pprof, как указано в github.com/revel/modules/tree/master/pprof. Но пока я пытаюсь получить профиль памяти с помощью следующей командыПерейти pprof: Получил ошибку непризнанный формат профиля

go tool pprof http://sit:9000/debug/pprof/heap.

Он получил ошибку в непризнанном формате профиля. Вы можете увидеть следующий снимок.

enter image description here Я много часов боролся с этой проблемой. Любая помощь приветствуется! Заранее спасибо!

ответ

0

Это, скорее всего, потому, что ваш профиль отладки пуст. Вы должны указать, как часто профилировать приложения с помощью SetBlockProfileRate

https://golang.org/pkg/runtime/#SetBlockProfileRate

Просто импортировать runtime пакет в файле main и вызовите функцию runtime.SetBlockProfileRate.

В качестве альтернативы, вы можете использовать этот пакет, который обрабатывает его для вас, с некоторыми значениями по умолчанию: https://github.com/pkg/profile

+0

Спасибо за ваш ответ. Но поскольку я использую структуру revel, поэтому основная функция будет автоматически сгенерирована. Поэтому я не могу добавлять коды в основной файл. И я могу использовать http: // sit: 9000/debug/pprof/heap? Debug = 1, чтобы увидеть общую информацию. Я просто не могу использовать команду, чтобы увидеть более глубокую информацию. – Victor

Смежные вопросы