前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用memory_profiler监测python代码运行时内存消耗方法

使用memory_profiler监测python代码运行时内存消耗方法

作者头像
砸漏
发布2020-10-20 10:06:08
2.8K0
发布2020-10-20 10:06:08
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

前几天一直在寻找能够输出python函数运行时最大内存消耗的方式,看了一堆的博客和知乎,也尝试了很多方法,最后选择使用memory_profiler中的mprof功能来进行测量的,它的原理是在代码运行过程中每0.1S统计一次内存,并生成统计图。

具体的使用方式如下:

首先安装memory_profiler和psutil(psutil主要用于提高memory_profile的性能,建议安装)(可使用pip直接安装)

代码语言:javascript
复制
pip install memory_profiler 
pip install psutil

具体运行方式为如下:(在待检测代码所在目录中打开命令行运行如下代码)

mprof run test.py

结果会生成一个.dat文件,如”mprofile_20160716170529.dat”,里面记录了内存随时间的变化

mprof plot

使用该命令以图片的形式展示出来

如果在运行的时候出现如下的gbk解码错误,解决方案是首先进入 memory_profiler.py文件中,找到第1131行,

把with open(filename) as f: 更改成 with open(filename, encoding=’utf-8′) as f:!!!

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xad in position 337: illegal multibyte sequence

值得注意的是,尽管网上大部分都说在待检测的函数之前加上@profile修饰器,但是不知道为何我在anaconda python3.6的环境里始终加不上这个修饰器,强行加上就报错,没加上也没问题。

您可能感兴趣的文章:
  • 记一次python 内存泄漏问题及解决过程
  • python清除函数占用的内存方法
  • python实现内存监控系统
  • python 基本数据类型占用内存空间大小的实例
  • python中使用psutil查看内存占用的情况
  • python 实时得到cpu和内存的使用情况方法
  • 对python程序内存泄漏调试的记录
  • python如何为创建大量实例节省内存
  • python如何在循环引用中管理内存
  • Python获取CPU、内存使用率以及网络使用状态代码
  • Python小工具之消耗系统指定大小内存的方法
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 您可能感兴趣的文章:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档