原文:使用 pprof 和 Flame-Graph 调试 Golang 应用

前言 最近用 Golang 实现了一个日志搜集上报程序 内部称logger项目 ,线上灰度测试过程发现logger占用 CPU 非常高 。而此项目之前就在线上使用,用于消费NSQ任务, CPU 占用一直在 ,最近的修改只是添加了基于磁盘队列的生产者消费者服务,生产者使用 go gin 实现了一个 httpserver,接收数据后写入磁盘队列 消费者为单个 goroutine 循环POST数据。而 ...

2018-03-08 10:30 2 860 推荐指数:

查看详情

使用perf生成Flame Graph(火焰图)

具体的步骤参见这里: 《flame graph:图形化perf call stack数据的小工具》 使用SystemTap脚本制作火焰图,内存较少时,分配存储采样的数组可能失败,需要编写脚本,还要安装kernel的debuginfo包。使用perf的话,相对来说要简单 ...

Wed Sep 11 05:02:00 CST 2013 0 2643
golang pprof使用

golang pprof使用 (1.)采用http的方式来采集pprof的性能分析数据。 (2.)访问界面 cpu(CPU Profiling): HOST/debug/pprof/profile,默认进行 30s 的 CPU Profiling,得到一个分析 ...

Fri Apr 16 17:17:00 CST 2021 0 259
golang pprof 使用

一、概述 go的pprof工具可以用来监测进程的运行数据,用于监控程序的性能,对内存使用和CPU使用的情况统信息进行分析。 官方提供了两个包:runtime/pprof和net/http/pprof,前者用于普通代码的性能分析,后者用于web服务器的性能分析。 官方文档: https ...

Wed Mar 31 23:59:00 CST 2021 0 235
使用Flame Graph进行系统性能分析

关键词:Flame Graph、perf、perl。 FlameGraph是由BrendanGregg开发的一款开源可视化性能分析工具,形象的成为火焰图。 从底向上像火苗一样逐渐变小,也反映了相互之间的包含关系,下面的框条包含上面内容。 经过FlameGraph.git处理,最终 ...

Sat Jan 05 07:32:00 CST 2019 0 2026
使用pprof调试go程序

使用pprof调试go程序 pprof可以用来调试go程序,在go中有两个库可以使用,1. net/http/pprof 2. runtime/pprof 方法1 - net/http/pprof 测试代码 启动http的方式 查看web 分析MEM 分析CPU ...

Fri Aug 02 21:30:00 CST 2019 0 466
golang pprof

一:背景 当正在运行的golang程序消耗预期之外的内存和时间,我们这个时候就需要去弄明白,到底是是我们的代码哪个地方消耗了这些内存及相应时间。但此时编译好的golang程序对我们而言是黑盒,如果去分析具体的内存及时间使用情况?这个时候我们可以去了解和使用pprof来分析golang进程的内存 ...

Wed Dec 15 22:58:00 CST 2021 0 809
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM