用mprof在时间维度观察python程序的内存

2020年12月4日 / 30次阅读 / Last Modified 2020年12月4日

mprof来自memory_profiler模块,安装这个模块,$PATH路径中就能够找到mprof程序。

时间维度的内存使用分析。使用 mprof 执行程序在时间维度分析进程的内存使用,一共有四种情况,分别是:单进程,多进程,记录子进程内存占用,多进程并记录子进程内存占用。

mprof run 
mprof run --multiprocess 
mprof run --include-children 
mprof run --include-children --multiprocess 

执行完后,会生成一个.dat文件,再使用下面的命令查看内存使用图标。mprof使用matplitlib来画图:

mprof plot *.dat

我用测试KNN的代码(《在MNIST和FMNIST数据集上测试KNN算法》)跑了一下,得到下图:

mprof生成的内存使用图
mprof生成的内存使用图

说实话,看着这个图,我有点费解,不知道怎么跟我写的代码对应起来,那两个黑色的大块块,应该是两条平滑上升的曲线才对......(也许是调用的numpy函数,在不停地申请释放内存)

也可以对部分函数使用@profile装饰器来得到内存表现图形。

-- EOF --

本文链接:https://www.pynote.net/archives/2971

相关文章

    留言区

    邮箱地址不会被公开。 必填项已用*标注


    前一篇:
    后一篇:

    More


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top