内存统计
简介
用于统计driver运行时内存占用情况的工具。
当程序有内存泄漏产生时, mem_snapshot 方法仅统计不同handle下相对大小的改变,部分内存泄漏点仍难以找到和排查。本工具通过记录pdb中代码位置信息与内存申请指针的对应关系统计内存占用情况。统计内存占用的单位为字节,可生成日志文件,并行解析,获取以100ms为间隔的局部最大内存占用情况。
目前内存统计有两种形式, MemRecordType.LOG_RECORD MemRecordType.MEM_RECORD。 MEM_RECORD状态下内存统计工具仅在内存中存储当前driver的内存申请情况,而LOG_RECORD则会将所有历史申请数据保存在日志中。内存统计工具保存信息所占用空间不是由 gs 内存分配器所分配,其不会影响 mem_state 或 get_mem_report 结果。
需要注意的是,由于gs的内存申请极为频繁且统计工具需要保存内存申请位置与所申请空间指针的对应关系,开启内存统计工具后内存占用较大且运行速度明显减慢。