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

作者:clovermini 时间:2022-03-02 06:49:56 

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

具体的使用方式如下:

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


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

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

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

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

来源:https://blog.csdn.net/baidu_33122327/article/details/79195176

标签:memory,profiler,python,内存
0
投稿

猜你喜欢

  • Oracle数据库的安全策略

    2010-07-31 13:13:00
  • 宽屏不是用来阅读的

    2009-04-05 15:59:00
  • C#中使用SendMessage

    2023-07-14 19:12:37
  • 我的“Orcas初览”讲座

    2007-09-23 12:53:00
  • python实现按关键字筛选日志文件

    2022-12-28 21:45:49
  • oracle命令行删除与创建用户的代码

    2009-03-02 10:54:00
  • python爬虫-模拟微博登录功能

    2021-12-13 21:54:08
  • Golang 使用http Client下载文件的实现方法

    2023-07-21 07:32:23
  • Python深度学习pytorch实现图像分类数据集

    2023-07-05 01:50:58
  • python动态网站爬虫实战(requests+xpath+demjson+redis)

    2023-03-30 20:01:51
  • 窥探jQuery——面向JavaScript程序员

    2008-06-17 14:35:00
  • Python使用import导入本地脚本及导入模块的技巧总结

    2022-09-07 15:09:29
  • python字符串操作的15种方法汇总

    2023-10-27 00:40:34
  • python中lambda()的用法

    2022-07-19 05:15:45
  • python实战教程之OCR文字识别方法汇总

    2021-09-20 05:36:21
  • Gradio机器学习模型快速部署工具接口状态

    2023-08-11 13:36:27
  • 详解Django将秒转换为xx天xx时xx分

    2023-06-14 22:52:12
  • 浅谈ASP自动采集程序及入库

    2007-08-17 11:25:00
  • 详解python配置虚拟环境

    2021-08-02 22:02:50
  • 用户体验的时间尺度[译]

    2009-10-30 18:25:00
  • asp之家 网络编程 m.aspxhome.com