analyze
功能说明
msLeaks工具提供的对外分析接口。支持内存泄漏分析和自定义低效内存识别。
- 内存泄漏分析
为用户提供了离线分析指定范围内内存泄漏的功能,可对msLeaks生成的落盘csv文件进行离线分析,并对指定范围内的泄漏给出告警。目前仅支持HAL内存泄漏分析。
使用该接口前,需要在指定范围内通过mstx的mark进行打点,并使用msLeaks启动用户进程,以获取落盘csv文件。之后,通过该接口输入待分析的csv文件、打点信息以及起始index,即可进行离线泄漏分析。
- 自定义低效内存识别
用户可输入自定义参数,对msLeaks生成的落盘csv文件或db文件进行离线低效内存识别。用户可以根据入参规范输入自定义参数,灵活设置低效内存识别的内存块阈值、关注的低效内存类型以及临时闲置的API间隔时间,从而精准的识别低效内存。
如果输入的csv文件或db文件已有低效内存识别的结果,使用自定义低效内存识别功能时,不会清除原有的低效内存识别结果,而是会在此基础上新增识别结果。如果需要多次执行自定义低效内存识别功能,建议备份原始文件。
函数原型
analyze(analyzer_type: str, **kwargs):
参数说明
- 内存泄漏分析
参数为leaks时,请参见check_leaks查看参数说明。
- 自定义低效内存识别
参数为inefficient时,请参见check_inefficient查看参数说明。
返回值说明
无返回值。
运行后会输出分析结果。
调用示例
import msleaks msleaks.analyze("leaks", input_path="user/leaks.csv", mstx_info="test",start_index=0) msleaks.analyze("inefficient", input_path="user/ineff.csv",mem_size=0, inefficient_type=["early_allocation","late_deallocation","temporary_idleness"], idle_threshold=3000 ) # input_path以用户实际路径为准
父主题: API参考