golang 工具 pprof 无法正常工作 - 无论分析目标如何,输出都相同损坏
本篇文章给大家分享《golang 工具 pprof 无法正常工作 - 无论分析目标如何,输出都相同损坏》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
问题内容
我以前使用 pprof 工具没有问题,而且效果很好 - 现在无论我配置什么,我都会看到如下输出:

此示例中分析的应用程序可能会进行 40 多个函数调用,甚至更复杂的应用程序正在为 cpu 和 memprofiling 生成类似的调用图。
我试图分析的应用程序都是 Web 应用程序,我一次分析它们一分钟,并使用 wrk 生成 200,000,000+ 个请求 = 所有返回数据和 2xx 响应
pprof 几天前突然停止运行 osx yosemite - 试图解决我最近升级到 el capitan 的问题,但结果是一样的。
注意:这不仅仅是调用图 - 调用 list 或 top 命令会产生类似的无效结果,但应用程序本身可以正常工作:
(pprof) top
269.97kB of 269.97kB total ( 100%)
flat flat% sum% cum cum%
269.97kB 100% 100% 269.97kB 100%
(pprof)
我正在使用以下包:“github.com/davecheney/profile”和 go v1.5.1
为清楚起见,这是我为生成配置文件所做的工作::
我将上面的包导入 main.go 并将以下内容放在我的 main 函数的顶部:
defer profile.Start(profile.MemProfile).Stop()
然后我构建二进制文件并运行它:
go build -o orig /Users/danielwall/www/netlistener/application/adrequest.go /Users/danielwall/www/netlistener/application/cookie.go /Users/danielwall/www/netlistener/application/header.go /Users/danielwall/www/netlistener/application/lex.go /Users/danielwall/www/netlistener/application/main.go /Users/danielwall/www/netlistener/application/publisher_ids.go /Users/danielwall/www/netlistener/application/request.go /Users/danielwall/www/netlistener/application/response.go /Users/danielwall/www/netlistener/application/server.go /Users/danielwall/www/netlistener/application/sniff.go /Users/danielwall/www/netlistener/application/status.go /Users/danielwall/www/netlistener/application/transfer.go ./orig
然后我看到这样的输出:
2015/11/16 11:39:49 profile: memory profiling enabled, /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
现在我从另一个终端运行该应用程序:
wrk -d60 -c10 -H "X-Device: desktop" -H "X-Country-Code: GB" "http://localhost:8189/app?id=111&schema=xml2&ad_type=auto&url=http://test.com/&category=bob"
Running 1m test @ http://localhost:8189/app?id=111&schema=xml2&ad_type=auto&url=http://test.com/&category=bob
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 414.09us 0.92ms 55.36ms 95.66%
Req/Sec 17.57k 3.19k 22.59k 76.00%
2097764 requests in 1.00m, 684.20MB read
Requests/sec: 34958.03
Transfer/sec: 11.40MB
60 秒后,我返回查看我的个人资料:
^C2015/11/16 12:05:20 profile: caught interrupt, stopping profiles go tool pprof /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
有什么想法可能在这里发生,或者我可以从哪里开始解决/解决这个问题?
欢迎任何帮助建议。
正确答案
您的go tool pprof电话缺少二进制文件本身。称它为
go tool pprof ./orig /path/to/profile.pprof
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。
为什么与 == 相比,具有相同日期和时间的 2 个时间结构返回 false?
- 上一篇
- 为什么与 == 相比,具有相同日期和时间的 2 个时间结构返回 false?
- 下一篇
- Golang - 扫描所有类型的结构
-
- Golang · Go问答 | 1天前 |
- Go t.Cleanup注册后测试提前Fatal的资源释放边界
- 399浏览 收藏
-
- Golang · Go问答 | 1天前 |
- Go testing t.Parallel与t.Setenv冲突时的组织方式
- 265浏览 收藏
-
- Golang · Go问答 | 1天前 | 并发 · go · sync.Mutex go vet copylocks
- Go mutex复制后锁状态失效的代码审查要点
- 431浏览 收藏
-
- Golang · Go问答 | 1天前 | 并发 · go · 排查 · 数据竞争 Go并发 sync/atomic
- Go atomic值混用普通读写引起数据竞争的修复清单
- 289浏览 收藏
-
- Golang · Go问答 | 1天前 |
- Go sync.Pool取回旧对象状态时的重置排查
- 327浏览 收藏
-
- Golang · Go问答 | 1天前 |
- Go copy返回长度小于预期时的切片容量分析
- 246浏览 收藏
-
- Golang · Go问答 | 1天前 | 排序 · go ·
- Go sort.Slice比较器不满足严格弱序时的异常表现
- 404浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 205次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 259次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 211次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 201次使用
-
- CMMLU
- 深入了解CMMLU中文评估基准,涵盖67个学科主题,提供数据集下载、Zero-shot/Five-shot评估方法及排行榜,助力优化中文语言模型性能。
- 189次使用
-
- GOLANG使用Context管理关联goroutine的方法
- 2022-12-28 193浏览
-
- 聊聊Go中的注释和godoc工具
- 2022-12-29 354浏览
-
- 聊聊Golang语言中的复数类型
- 2023-01-07 418浏览
-
- 浅析Golang中的浮点类型(float32和float64)
- 2022-12-23 161浏览
-
- 聊聊Golang中的整数类型
- 2022-12-24 209浏览

