简体   繁体   中英

mprof python memory_profiler

I installed memory_profiler on my system and ran this program

!/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()

after running python fp.py it displayed

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

but while running mprof run fp.py it returns

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

how should i plot the memory usage graph is there any other library.

I believe it has something to do with PATH.

Depends on the linux distribution, executables from pip can be installed at different locations.

For ubuntu, it is very likely in the following locations:

  • /usr/local/bin/mprof
  • ~/.local/bin/mprof (if it was installed as user package, ie by pip3 install memory-profiler --user )

You can either add it into PATH (see this ) or run the script with full path (ie /usr/local/bin/mprof run fp.py )

You've to run mprof run filename.py , mprof plot commands on terminal.

For reference, visit this page Performance analysis of your python program using Memory_Profiler

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM