使用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
投稿

猜你喜欢

  • asp实现的查询某关键词在MSSQL数据库位置的代码

    2011-02-28 11:18:00
  • 如何使用Django(python)实现android的服务器端

    2022-09-25 01:06:43
  • python过滤中英文标点符号的实例代码

    2022-11-09 13:43:09
  • 两级联动select刷新后其值保持不变的实现方法

    2023-11-05 11:39:33
  • python中append实例用法总结

    2023-10-03 09:46:20
  • 在Oracle中向视图中插入数据的方法

    2009-02-28 10:42:00
  • python实现BackPropagation算法

    2022-03-26 12:06:39
  • python使用rsa非对称加密过程解析

    2021-06-15 00:14:51
  • python实现超时退出的三种方式总结

    2023-07-22 17:56:34
  • Python实现对二维码数据进行压缩

    2022-10-22 12:51:59
  • opencv python模糊影像检测效果

    2021-07-27 04:44:13
  • Python实现仿射密码的思路详解

    2021-04-17 22:32:00
  • MySQL如何利用DCL管理用户和控制权限

    2024-01-14 13:33:21
  • mysql SELECT语句去除某个字段的重复信息

    2024-01-17 04:15:41
  • 微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)

    2024-05-11 09:42:26
  • 关于Pycharm配置翻译插件Translation报错更新TTK失败不能使用的问题

    2023-08-22 05:02:17
  • Go语言实现socket实例

    2024-02-04 20:17:30
  • Python pandas中read_csv参数示例详解

    2021-05-14 06:17:12
  • php正则过滤html标签、空格、换行符的代码(附说明)

    2023-07-22 07:58:01
  • PyTorch 随机数生成占用 CPU 过高的解决方法

    2021-09-23 09:12:31
  • asp之家 网络编程 m.aspxhome.com