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

 更新时间:2018年12月03日 10:15:53   作者:clovermini  
今天小编就为大家分享一篇使用memory_profiler监测python代码运行时内存消耗方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

前几天一直在寻找能够输出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的环境里始终加不上这个修饰器,强行加上就报错,没加上也没问题。

相关文章

  • Python pandas 重命名索引和列名称的实现

    Python pandas 重命名索引和列名称的实现

    本文主要介绍了Python pandas 重命名索引和列名称的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Python爬虫框架NewSpaper使用详解

    Python爬虫框架NewSpaper使用详解

    这篇文章主要为大家介绍了Python爬虫框架NewSpaper使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Python实现求两个csv文件交集的方法

    Python实现求两个csv文件交集的方法

    这篇文章主要介绍了Python实现求两个csv文件交集的方法,涉及Python针对csv文件的读取、遍历、判断等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • Python输出大括号的几种方法

    Python输出大括号的几种方法

    本文主要介绍了Python输出大括号的几种方法,通过print函数的字符串格式化、f-string、转义字符等方式,可以在Python中输出大括号,感兴趣的可以了解一下
    2024-01-01
  • django xadmin中form_layout添加字段显示方式

    django xadmin中form_layout添加字段显示方式

    这篇文章主要介绍了django xadmin中form_layout添加字段显示方式,具有很好的 参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python实现发送声情并茂的邮件内容和附件

    Python实现发送声情并茂的邮件内容和附件

    Python是一种高级编程语言,它可以用于编写各种类型的应用程序,包括发送电子邮件。本文就来演示如何使用Python发送HTML格式的电子邮件,感兴趣的可以了解一下
    2023-04-04
  • Python图片存储和访问的三种方式详解

    Python图片存储和访问的三种方式详解

    在 Python 中处理图像数据的时候,例如应用卷积神经网络等算法可以处理大量图像数据集,这里就需要学习如何用最简单的方式存储、读取数据。本文介绍了Python中图片存储和访问的三种方式,需要的可以参考一下
    2022-04-04
  • pyautogui自动化控制鼠标和键盘操作的步骤

    pyautogui自动化控制鼠标和键盘操作的步骤

    这篇文章主要介绍了pyautogui自动化控制鼠标和键盘操作的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python 设计模式创建型单例模式

    Python 设计模式创建型单例模式

    这篇文章主要介绍了Python 设计模式创建型单例模式,即Singleton,单例是一种设计模式,应用该模式的类只会生成一个实例,下文详细介绍需要的小伙伴可以参考一下
    2022-02-02
  • 使用python将时间转换为指定的格式方法

    使用python将时间转换为指定的格式方法

    今天小编就为大家分享一篇使用python将时间转换为指定的格式方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11

最新评论