【GoLand教程】GoLand 内存分析器

您只能为 Go 测试和基准运行内存分析器
内存分析器显示了哪些函数分配了堆内存。此统计信息可以帮助您查找内存泄漏并优化整体内存使用情况。
运行内存分析
- 打开_test.go文件。
- 在要分析的函数或方法附近,单击装订线区域中的Run Application图标,然后选择Run <configuration_name> with 'Memory Profiler'。
解释结果
火焰图
Flame Graph选项卡显示函数调用和为每个调用分配的内存量。每个块代表堆栈中的一个函数。在 Y 轴上,有一个自下而上的堆栈深度。X 轴显示从最消耗内存的函数(空间和对象数量)到最不消耗的函数排序的堆栈配置文件。
阅读火焰图时,请注意大对象会影响内存消耗和垃圾收集时间,而大量的小分配会影响执行速度。调查这两种情况可能很有用。
在火焰图选项卡中,您可以将鼠标悬停在任何块上以查看详细信息。
, where
- 13,020,338:直接内存使用量,以字节为单位。
- 100.00% of parent:属于单个父调用的不同过程之间的百分比。
- 95.17% of all:过程及其所有被调用者的内存使用百分比。
调用树
调用树选项卡显示调用树以及每个过程在总内存使用量中的百分比。它组织数据以向您显示应用程序在哪里使用了大部分内存或内存中的更多对象。要配置和过滤呼叫树视图,请使用演示设置按钮。
方法列表
Method List选项卡显示按分配对象数排序的方法列表。Back Traces选项卡显示调用所选方法的位置。Merged Callees选项卡显示从所选方法开始的调用跟踪。