问题标签 [pprof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
profiling - 带有堆分析的 google-perftools/pprof 格式
google-perftools 包中有一个 pprof 实用程序。将配置文件从 google-perftools cpuprofiler 和 heapprofiler 转换为漂亮图像的实用工具:如https://github.com/gperftools/gperftools/tree/master/doc/pprof-test-big.gif和 https://github .com/gperftools/gperftools/tree/master/doc/heap-example1.png
pprof 输入文件的格式在此处针对 cpu 配置文件进行了描述:https ://github.com/gperftools/gperftools/tree/master/doc/cpuprofile-fileformat.html
但是heap profile
svn中没有描述输入文件的格式。
什么是“堆分析”格式以及如何从我的代码生成这样的文件?我已经可以生成 cpuprofiler 格式,所以我感兴趣的是两种格式之间的区别。
go - 如何在 Go 程序中使用 pprof
如何在 Go 程序中使用 pprof?
有一个名为net/http/pprof的 Go 包,但我不能使用它。
该文件说go tool pprof http://localhost:6060/debug/pprof/heap
,这是行不通的。
而且,下面的_是什么意思?
import _ "net/http/pprof"
profiling - 合并几个 google-pprof 文件(pproc CPU profiler)
我想使用 google-perftools(gperftools 的 libprofiler.so)中的 CPU Profiler,如下所述:http: //gperftools.googlecode.com/svn/trunk/doc/cpuprofile.html
在我的设置中,我想运行程序进行多次分析(最多 1500 次;每次运行都不同),然后将所有运行(或运行的某些子集)的 pprof 输出合并到单个 pprof 文件中。
我怎样才能做到这一点?
PS:我的程序几乎不使用共享库,因此只会分析单个二进制(elf)文件。
PPS:感谢 Chris,pprof 可以使用多个配置文件:
go - 为什么 golang 堆配置文件中的“总 MB”小于顶部的“RES”?
我有一个用 go 编写的服务,它在运行时需要 6-7G 内存(顶部是 RES)。所以我使用 pprof 工具试图找出问题所在。
但是结果中只有大约 1-2G 内存(pdf 中的“总 MB”)。剩下的在哪里?
我已经尝试使用 GOGC=off 来分析我的服务,结果“总 MB”与顶部的“RES”完全相同。似乎内存已被 GC,但尚未返回内核将不会被分析。
任何的想法?
PS,我在 1.0.3 和 1.1rc3 都测试过。
go - golang 内存爆炸:newdefer
我有一个程序在 udp 上侦听日志流量,尝试解析它,然后将其插入 Redis。在一定的流量水平下,内存似乎“爆炸”(从几百兆字节迅速增加到千兆字节。
发生这种情况后不久,我抓取了一个堆配置文件,它返回以下内容:
当程序“健康”时,配置文件看起来更像:
我的代码中唯一的延迟是围绕解析函数(因为它经常会失败):
有没有人看到任何明显的我做错了可能导致记忆突然膨胀的事情?或者也许提供一些方向来固定它?
编辑(有关 logrow.Record 频道的更多代码):
memory-leaks - Go(lang):如何使用 PPROF 堆配置文件来查找内存泄漏?
我正在尝试使用 pprof 来验证内存泄漏。
任何人都可以解释如何阅读您在以下位置找到的堆配置文件:
http://localhost:6060/debug/pprof/heap?debug=1
此外,web
在启动后键入命令go tool pprof http://localhost:6060/debug/pprof/heap
会产生一个空的 .svg 文件是否正常?
非常感谢
go - go pprof 看不到所有方法
我正在使用 go pprof 来分析我的应用程序,我遵循了下一个教程 - http://saml.rilspace.org/profiling-and-creating-call-graphs-for-go-programs-with-go-tool-pprof
我分析的“--text”结果是-
总计:48 个样本 48 100.0% 100.0% 48 100.0% runtime.mach_semaphore_wait 0 0.0% 100.0% 48 100.0% 系统
我应该怎么做才能获得应用程序的完整分析结果?(一般我的应用程序与 go-imap 和 json 一起使用)
go - Is it possible to increase the sample rate when profiling go programs?
I have a small program in go that executes most of its code in parallel using go routines. I start CPU profiling as described in the blog on profiling go programs, but when I look at the data I see only 3-5 samples (the actual runtime of the program is several seconds). Is there way to increase the sample rate? Tried googling but couldn't find a thing...
google-perftools - 如何在 google-perftools 堆分析器的堆栈跟踪中显示符号
我们在 TDD 环境中使用 google-perftools 堆分析器。最后我们得到堆转储,我们可以使用 pprof 来查看热点。它显示了符号,但几乎没有提供有关如何在堆栈中到达泄漏的信息。事实上,我可以看到输出中没有任何组织。
最大泄漏的堆栈跟踪在运行时显示,但不显示任何符号。我们正确设置了 PPROF_PATH 环境变量,但它没有任何效果。我们如何启用它?
go - golang - net/http/pprof 不起作用
我有客户 http 服务:
它不起作用:
返回错误:
谢谢。
编辑:我认为问题是我重写了默认的 http 服务器,net/http/pprof 包注入 http 处理程序:
处理程序在我的代码中不起作用。