mprof python memory_profiler

时间:2017-03-23 13:11:59

标签: python memory-profiling

我在我的系统上安装了memory_profiler并运行了这个程序

!/usr/bin/env python
from memory_profiler import profile

@profile(precision=4)
def my_func():
    a = [1] * (10 ** 6)
    b = [2] * (2 * 10 ** 7)
   del b
   return a

if __name__ == '__main__':
   my_func()

运行python fp.py之后 它显示了

Filename: fp.py

Line #    Mem usage    Increment   Line Contents
================================================
     4  12.6992 MiB   0.0000 MiB   @profile(precision=4)
     5                             def my_func():
     6  20.3516 MiB   7.6523 MiB       a = [1] * (10 ** 6)
     7 172.8945 MiB 152.5430 MiB       b = [2] * (2 * 10 ** 7)
     8  20.5273 MiB -152.3672 MiB       del b
     9  20.5273 MiB   0.0000 MiB       return a

但是在运行mprof运行fp.py时会返回

No command 'mprof' found, did you mean:
 Command 'sprof' from package 'libc-dev-bin' (main)
 Command 'mlprof' from package 'mlton-tools' (universe)
 Command 'pprof' from package 'tau' (universe)
 Command 'prof' from package 'profphd' (universe)
 Command 'gprof' from package 'binutils' (main)
 Command 'gprof' from package 'binutils-multiarch' (main)
mprof: command not found

如何绘制内存使用情况图表是否还有其他库。

2 个答案:

答案 0 :(得分:0)

我相信它与PATH有关。

取决于 linux 发行版,来自 pip 的可执行文件可以安装在不同的位置。

对于 ubuntu,很可能在以下位置:

  • /usr/local/bin/mprof
  • ~/.local/bin/mprof(如果它是作为用户包安装的,即通过pip3 install memory-profiler --user

您可以将其添加到 PATH(请参阅 this)或使用完整路径(即 /usr/local/bin/mprof run fp.py)运行脚本

答案 1 :(得分:-1)

您必须在终端上运行 mprof run filename.pymprof plot 命令。

如需参考,请访问此页面 Performance analysis of your python program using Memory_Profiler