Skip to main content

A module for monitoring memory usage of a python program

Project description

Memory Profiler

This is a python module for monitoring memory consumption of a process as well as line-by-line analysis of memory consumption for python programs.

Installation

To install through easy_install or pip:

$ easy_install -U memory_profiler # pip install -U memory_profiler

To install from source, download the package, extract and type:

$ python setup.py install

Usage

The line-by-line profiler is used much in the same way of the line_profiler: you must first decorate the function you would like to profile with @profile:

@profile
def my_func():
    a = np.zeros((100, 100))
    b = np.zeros((1000, 1000))
    c = np.zeros((10000, 1000))
    return a, b, c

then execute the code passing the option “-m memory_profiler” to the python interpreter to load the memory_profiler module and print to stdout the line-by-line analysis. If the file name was example.py, this would result in:

$ python -m memory_profiler example.py

Output will follow:

Line #    Mem usage   Line Contents
===================================
     3                @profile
     4     14.19 MB   def my_func():
     5     14.27 MB       a = np.zeros((100, 100))
     6     21.91 MB       b = np.zeros((1000, 1000))
     7     98.20 MB       c = np.zeros((10000, 1000))
     8     98.20 MB       return a, b, c

Bugs & wishlist

Maybe also print the increment in memory consumption.

Development

Latest sources are available from github:

https://github.com/fabianp/memory_profiler

Authors

This module was written by Fabian Pedregosa inspired by Robert Kern’s line profiler.

Tom added windows support and speed improvements via the psutil module.

License

Simplified BSD

Project details


Release history Release notifications

History Node

0.52.0

History Node

0.51.0

History Node

0.50.0

History Node

0.49.0

History Node

0.48.0

History Node

0.47

History Node

0.46

History Node

0.45

History Node

0.44

History Node

0.43

History Node

0.42

History Node

0.41

History Node

0.40

History Node

0.39

History Node

0.38

History Node

0.37

History Node

0.36

History Node

0.35

History Node

0.34

History Node

0.33

History Node

0.32

History Node

0.31

History Node

0.30

History Node

0.29

History Node

0.28

History Node

0.27

History Node

0.26

History Node

0.25

History Node

0.24

History Node

0.23

History Node

0.22

History Node

0.21

History Node

0.20

History Node

0.19

History Node

0.18

History Node

0.17

History Node

0.16

History Node

0.15

History Node

0.14

History Node

0.13

History Node

0.12

History Node

0.11

History Node

0.10

This version
History Node

0.9

History Node

0.8

History Node

0.7

History Node

0.5

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
memory_profiler-0.9.tar.gz (4.8 kB) Copy SHA256 hash SHA256 Source None May 3, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page