jjzjj

profiling

全部标签

去分析 - 错误的文件

我正在使用github.com/pkg/profile在Go中进行分析,它在我运行我的代码时创建文件,但返回来自示例页面代码,运行我的代码会怎样?提前致谢代码:packagemainimport("fmt""github.com/pkg/profile""time")funcmain(){deferprofile.Start(profile.MemProfile).Stop()varinicio=time.Now().UnixNano()vartext="OláMundo!"fmt.Println(text)varfim=time.Now().UnixNano()fmt.Println

go - 如何使用 `go test` 对 golang 中程序的 *section* 进行计时和分析?

问题:如何使用gotest对golang中程序的部分进行计时和分析?用例:我有一个B+tree的并发批量操作处理算法。我正在使用gotest进行分析并与其他基线算法(序列化版本、悲观锁定等)进行比较。对于测试用例设置,我将创建一个包含1M条目的B+树并创建一个1M操作列表,然后我开始实际测试以BulkProcess这些操作。funcTestInputTreeM1e6N1e6(*testing.T){M:=1000000//TestPreparation1:Setupthetreetree:=NewTree(cmp)file1name:="InitalTree_10000000.txt"

go - 探查器不显示函数调用(/pgk/profile with pprof)

这个问题在这里已经有了答案:golangtoolpprofnotworkingproperly-samebrokenoutputregardlessofprofilingtarget(1个回答)关闭6年前。编辑:当我将可执行文件添加到pprof调用时工作我正在尝试使用来自https://github.com/pkg/profile的探查器来探查一个简单的程序:然后去工具pprof。packagemainimport"github.com/pkg/profile"funcmain(){deferprofile.Start().Stop()t1()t2()}funct1(){fori:=0

go - runtime.adjustdefers 在 pprof 输出中意味着什么?

我们正在运行一个Go程序,该程序大部分时间都在进行GC。我们做了一个内存配置文件,我做了一个“gotoolpprof-alloc_objects”。然后我在pprof控制台中做了一个“top5”,下面是它显示的内容:我的问题是,runtime.adjustdefers是什么意思?(pprof)top54576708929of7330217181total(62.44%)Dropped765nodes(cum=970919101)flatflat%sum%cumcum%203505852827.76%27.76%203505852827.76%runtime.adjustdefers99

go - 我的代码都没有出现在 Golang 内存分析器输出中

我目前正在开发一个从数据库加载数据、运行一些计算然后将结果保存到同一个数据库的Go程序。有多个gorutine。运行时间(5-6分钟)出奇地长。按照这个article我执行了CPU分析,结果表明70%以上的CPU时间都在运行与垃圾收集相关的代码。现在,我尝试了内存分析,但我的代码没有出现在结果中。这是我第一次分析程序-我不知道如何继续优化程序或在哪里寻找问题。我感谢任何帮助。提前致谢! 最佳答案 正如Adrian在评论中指出的那样,“问题”可以通过按累积而不是平坦排序来简单解决,例如使用top10-cum

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

我的主block中有以下内容:funcmain(){deferprofile.Start().Stop()fmt.Println("runningversion",version,"builton",date)fmt.Println()cmd.Execute()time.Sleep(2*time.Second)}其中cmd是一个cobra子命令。我执行gobuild,然后运行二进制文件。我可以看到它生成了一个pprof文件:2018/09/1318:43:26profile:cpuprofilingenabled,/tmp/profile705487093/cpu.pprof...ou

MacOS 源 ~/.bash_profile 禁用了一切

所以我试图在我的Mac上设置Go编程环境,并通过相应地修改.bash_profile将必要的目录添加到路径中。保存.bash_profile后,我尝试运行“go版本”,但它仍然不起作用。经过一番搜索,我发现如果我执行以下操作:来源~/.bash_profilego版本可以。它确实如此,但似乎我的PATH已更改,因为nano、vi、ls、sudo等命令不再起作用。有没有办法恢复我的初始环境PATH?提前致谢!!:DPS-如果我的问题不清楚,请告诉我 最佳答案 请注意,对于您当前的shellsession,您的路径可能只是“损坏”:Ma

go - 如何以图形方式可视化配置文件?

我正在Windows8.164位上开发Go1.2。我在让gopprof工具正常工作时遇到了很多问题,例如显示的是内存地址而不是实际的函数名称。但是,我找到了profile这似乎在生成与pprof工具一起使用的配置文件方面做得很好。我的问题是,我如何使用这些配置文件进行图形可视化? 最佳答案 你可以试试gotoolpprof/path/to/programprofile.prof来解决functionnottrue的问题。如果你想要图形可视化,尝试在pprof中输入web。 关于go-如何

Go CPU 配置文件缺少函数调用信息

我一直在尝试根据https://software.intel.com/en-us/blogs/2014/05/10/debugging-performance-issues-in-go-programs等文章深入研究Go(golang)性能分析.但是,在实际的profiled程序中,生成的CPUprofiles信息很少。go工具要么告诉配置文件为空,要么没有关于任何函数调用的信息。这在OSX和Linux上都会发生。我生成了一个这种情况的最小示例-我正在以类似的方式收集配置文件,并且在实际程序中也面临同样的问题。这是miniprofile/main.go的源代码:packagemaini

bash - 无法从GoLang中的/etc/profile获取环境变量

我在/etc/profile中设置了一些环境变量,我可以从bash访问它们,但由于某些原因我无法从Go中获取它们。/etc/配置文件:...TEST_ENV=test_me我可以从bash访问它:echo$TEST_ENVtest_me我无法从GO访问这个变量os.Getenv("TEST_ENV")//returns""如果我列出可用的环境变量os.Environ()我没有看到我正在寻找的变量,但有一些变量可能会有所帮助:SHELL=/bin/shUSER=rootLOGNAME=root我猜我的问题与不同的session和shell有关,所以我什至尝试运行exec.Command(