【问题标题】:Go pprof: Got Error unrecognized profile formatGo pprof:出现错误无法识别的配置文件格式
【发布时间】:2017-05-12 13:23:40
【问题描述】:

我正在使用 Go revel 框架开发一个 web 程序(我的 go 版本是 1.6.2)。我遇到了内存使用问题。 revel占用的内存每天都在增加近百MB。所以我想调整程序。然后我学会了使用 go pprof 并使用 github.com/revel/modules/tree/master/pprof 中所说的 revel pprof。但是当我尝试使用以下命令获取内存配置文件时

去工具 pprof http://sit:9000/debug/pprof/heap.

出现无法识别的配置文件格式错误。您可以看到如下快照。

enter image description here 我在这个问题上挣扎了几个小时。任何帮助表示赞赏!提前谢谢!

【问题讨论】:

    标签: go heap-memory revel pprof


    【解决方案1】:

    这很可能是因为您的调试配置文件为空。 您需要指定使用SetBlockProfileRate 分析应用程序的频率

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

    只需在您的main 文件中导入runtime 包并调用runtime.SetBlockProfileRate 函数。

    或者,你可以使用这个包,它会为你处理它,有一些默认值:https://github.com/pkg/profile

    【讨论】:

    • 感谢您的回复。但由于我使用的是 revel 框架,所以 main 函数会自动生成。所以我不能在主文件中添加任何代码。我可以使用sit:9000/debug/pprof/heap?debug=1 来查看一般信息。我只是无法使用该命令查看更深入的信息。
    猜你喜欢
    • 2021-01-13
    • 1970-01-01
    • 2019-05-25
    • 2013-06-12
    • 2011-03-12
    • 2016-02-14
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多