问题标签 [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.

0 投票
0 回答
1659 浏览

go - go pprof heap profile vs top mem_usage

我正在运行 go 应用程序并使用 pprof 来获取它的堆配置文件,如下所示:

结果,我得到了这个:Showing nodes accounting for 507.98MB, 99.41% of 510.98MB total。但我不知道它首先从哪里得到这个 507.98MB。当我使用 检查当前内存使用情况top时,它显示我的应用程序仅使用 200MB 内存(top命令结果中的 RES 值)。有人可以解释堆配置文件显示的总 in_use 内存和给出的 mem_usage 之间有什么区别top吗?

0 投票
1 回答
117 浏览

performance - Why is "MOVQ 0x30(SP), DX" slow?

Please see the following pprof session. In the treesort.add, line 42, there's an int comparison. I think it accounts for 64% of all cpu time. In disasm the operation is "MOVQ 0x30(SP), DX". Why is it so slow?

#xA;
0 投票
0 回答
119 浏览

go - 如何在 CGO tcp 服务器上进行基准测试?

我使用 CGO 完成了一个 TCP 服务器。现在我想做一些基准分析和优化。

Go 和 C 之间的连接流程如下:

并且服务器只能在 docker 容器中运行。

我尝试使用 pprof 分析与真实用户 I/O 的几秒钟连接,但它什么也没给我:

因此我想知道 pprof 是否只能分析纯 Go 程序?我怎样才能正确地对这样的程序进行基准测试?

0 投票
1 回答
1595 浏览

go - 我可以在 pprof 下运行一些东西并传递命令行参数吗?

我有一个 go 二进制文件,它使用 cobra 作为子命令。每个子命令都有自己的标志。我希望能够为具有一组特定参数的命令创建 CPU 配置文件,例如:

但是,如果我尝试运行它,如下所示:

我收到以下错误:

如果我尝试引用整个命令,它也不起作用。有没有办法go tool pprof传递其他命令行参数?

编辑:这就是我试图描述的方式:

0 投票
1 回答
284 浏览

go - 在启用 pkg/profile 的情况下运行 go 时如何获取样本?

我的主块中有以下内容:

cmdcobra 子命令在哪里。我做了一个 go build,然后我运行二进制文件。我可以看到它生成了一个pprof文件:

然后我试图分析它,使用:

但是当 pprof 打开时,我看到了这个:

如果有帮助,我正在go version go1.11 linux/amd64运行Ubuntu 16.04.5 LTS. 不确定这是否重要,但我正在尝试检查 DigitalOcean 液滴上的 pprof 输出。

有什么我做错了吗?谢谢!

0 投票
1 回答
190 浏览

go - Go Profiling - 错误的文件

我正在使用 github.com/pkg/profile 在 Go 中进行分析,当我运行我的代码时它正在创建文件,但返回来自示例页面代码,如何运行我的代码?提前致谢

代码:

返回:

在此处输入图像描述

0 投票
1 回答
1068 浏览

go - 如何解释 go pprof/mutex 显示等待解锁?

我正在优化 Go 程序的性能。在查看互斥量分析时,我得到了

代码片段是

我不明白的是:

  • 为什么互斥量分析显示只有前 1 个有flat时间,其余的都是0
  • 如果显示正在等待,Lock则可能意味着计算时间过长,但是显示等待中是什么意思Unlock
0 投票
1 回答
1802 浏览

go - go tool pprof -inuse_space 比 linux top 显示小很多

我的程序在后台运行。我使用 linux top 命令,它显示16g内存。但是当我想使用 gopprof -inuse_space检查点时,我只给出200M. 其他的记忆去哪儿了?

0 投票
1 回答
150 浏览

debugging - 如何分析这个 Golang cpu pprof 快照?

程序启动后大约 10 分钟会出现此问题。CPU 成本 300%。有什么问题?stackoverflow 不支持 .svg 图片。请下载上传到 github 的 .svg 文件。

https://github.com/.../raw/master/pprof001.svg

0 投票
1 回答
1286 浏览

go - golang pprof 堆计数含义

描述

我尝试使用 pprof 来分析我的程序,并且我正在使用

在浏览器中访问:

然后我将有以下页面:

调试 pprof 堆

每次我尝试刷新此页面时,框中的数字都会不断增加!

当我点击链接时:http://ip:port/debug/pprof/heap?debug=1

我将看到以下内容:

调试-pprof-堆详细信息

这里的4个数字:

意思是 inuse_objects: inuse_space [all_objects: alloc_space],对吗?

问题

方框中的这两个数字实际上是什么意思?

“堆计数”与 有什么关系inuse_objects