运行以下命令来启动 pprof:$ go tool pprof http://localhost:6060/debug/pprof/heap 等待几秒钟,pffof 将会连接到正在运行的 Go 程序,并显示一个交互式 shell。 输入top 命令来查看内存占用最高的函数和调用栈:(pprof) top 输入list 命令来查看当前函数的源代码和行数:(pprof) list functionName 如果需要查看...
go tool pprof -http=:8081/Users/zzou/pprof/pprof.alloc_objects.alloc_space.inuse_objects.inuse_space.008.pb.gz 执行上面命令会自动弹出性能页面 该图已经比较清晰的搞明白到底在哪里花费了比较多的内存了。 如果需要当然我们还可以选择查看火焰图 其实cpu 的性能观测也跟上面一致 go tool pprof http://l...
如果你的go程序是用http包启动的web服务器,想要查看自己的web服务器的状态。这个时候就可以选择net/http/pprof。 import _ "net/http/pprof" 1. import _ "net/http/pprof" 然后就可以在浏览器中使用http://localhost:port/debug/pprof/ 直接看到当前web服务的状态,包括CPU占用情况和内存使用情况等。 当然,非...
输入go tool pprof -http :8081 http://127.0.0.1:8090/debug/pprof/heap 会在浏览器中打开 这就是当前heap采样图 可以在VIEW中切换不同的显示方式 图中方块越大便是占用的内存越多,方块中连线越粗表示耗时越多 内存泄露误区 我在排查内存泄露时,当我把goroutine阻塞解决后,通过linux 的top命令查看Gateway内存...
1、通过 pprof 工具获取内存相差较大的两个时间点 heap 数据。 curl localhost:8000/debug/pprof/heap > heap.base 等待一段时间,通过 htop 可以查看到内存又涨了很多,然后再采集内存情况 curl localhost:8000/debug/pprof/heap > heap.current 2、通过 go tool pprof 工具比较两个内存的情况,找到是什么对象多...
go tool pprof http://localhost:8081/debug/pprof/profile 完整命令可以参考pprof 官方文档 实战 在业务中,我们遇到了一个job运行时oom的问题。 按照上述方式引入pprof后,我们收集到了如下信息: go tool pprof -inuse_space http://127.0.0.1:8081/debug/pprof/heap // 使用top命令获取占用内存最高的方法 top...
go run main.go -cpuprofile cpu.pprof -memprofile=mem.pprof 随后会发现, 在项目根目录创建了同名的文件 CPU分析# 与web 版类似, 只是源文件由http 接口下载变成了文件, 其实 http 接口也是 get 时下载对应的文件再分析 go tool pprof -http 127.0.0.1:8848 ./cpu.pprof 内存分析# go tool pprof -...
2.2 初探内存分析 点击页面上的heap项或者通过命令行go tool pprof http://localhost:8080/debug/pprof...
go tool pprof -seconds=30 http://localhost:6060/debug/pprof/XXX 1. 执行该命令, 需等30s(可调整seconds值),pprof 会进行 CPU Profiling.结束后将默认进入 pprof 的交互式命令模式,可以对分析的结果进行查看或导出.具体可执行 pprof help 查看命令说明 ...