python中内存分析

Pympler用于测量、监控和分析正在运行的python应用程序中python对象的内存行为,完全由python编写,仅支持3.6以上版本

安装

pip install Pympler

第一步:定位内存泄漏

from pympler import tracker
tr = tracker.SummaryTracker()

接口返回处打印内存差异,观察内存是否有泄漏

tr.print_diff() # 本次内存和上次内存块的差异

然后我们访问接口,多触发几次,不用看前两次,等输出稳定后,如果有内存泄漏是如下输出:

这样的结果表示没有内存泄漏

  types |   # objects |   total size
======= | =========== | ============

第二步:确定泄漏的代码块

通过读代码、debug调试定位代码块,或者通过工具objgraph、trancemalloc

import os
import objgraph

def obj_graph_stat(mark=''):
    file_path = r'D:\\obj_graph.txt'
    if not os.path.exists(file_path):
        file = open(file_path, 'w')
        file.close
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值