Are you able to run it inside of valgrind's massif tool?  Calling out to 
ps can be a bit spurious (particularly with a memory-pooling Python 
build) especially for a leak this small.

Mike

Andres Luhamaa wrote:
> Michael Droettboom wrote:
>   
>> I am not able to reproduce this leak here with 0.98.6svn from today on 
>> RHEL4.  What platform are you on?
>>
>> (See attached massif profile -- the memory usage is flat...)
>>
>> Mike
>>     
> Well, in my setup I see similar behaviour as in the initial question. 
> Ubuntu 8.10 32bit, 2-days old svn verion of matplotlib.
>
> Andres
>   
>> Jesper Larsen wrote:
>>     
>>> Hi matplotlib developers and users,
>>>
>>> I have had some problems with a memory leak in a long running
>>> matplotlib based web application that I have developed
>>> (www.worldwildweather.com). I believe the problem is due to a memory
>>> leak in the Agg backend but I am not sure. Below is a script which for
>>> me results in a consistently increasing amount of  memory usage. I am
>>> using mpl version 0.98.6svn. The problem does not occur when the
>>> savefig command is commented out. And it does not occur when "cs =
>>> ax.contourf(z)" and "ax.cla()" are moved outside the loop (before and
>>> after respectively).
>>>
>>> Best regards,
>>> Jesper
>>>
>>> import os, gc
>>> import numpy as npy
>>> import matplotlib as mpl
>>> from matplotlib.figure import Figure
>>> from matplotlib.backends.backend_agg import FigureCanvasAgg as 
>>> FigureCanvas
>>>
>>> def report_memory():
>>>     """Report memory."""
>>>     gc.collect()
>>>     pid = os.getpid()
>>>     a2 = os.popen('ps -p %d -o rss,vsz,%%mem' % pid).readlines()
>>>     return int(a2[1].split()[1])
>>>
>>> fig = Figure(dpi=100)
>>> ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
>>> FigureCanvas(fig)
>>>
>>> n = 1000
>>> z = npy.zeros((n,n))
>>> for i in range(2000):
>>>     cs = ax.contourf(z)
>>>     fig.savefig('test.png')
>>>     ax.cla()
>>>     print report_memory(), i
>>>
>>> I have not pasted in all of the output but just the first and last 25 
>>> lines:
>>> 53356 0
>>> 53360 1
>>> 53360 2
>>> 53360 3
>>> 53360 4
>>> 53360 5
>>> 53360 6
>>> 53360 7
>>> 53360 8
>>> 53360 9
>>> 53360 10
>>> 53360 11
>>> 53360 12
>>> 53360 13
>>> 53360 14
>>> 53360 15
>>> 53360 16
>>> 53360 17
>>> 53356 18
>>> 53360 19
>>> 53360 20
>>> 53360 21
>>> 53360 22
>>> 53360 23
>>> 53356 24
>>> ...
>>> 57552 1975
>>> 57552 1976
>>> 57552 1977
>>> 57552 1978
>>> 57552 1979
>>> 57552 1980
>>> 57552 1981
>>> 57552 1982
>>> 57552 1983
>>> 57552 1984
>>> 57552 1985
>>> 57552 1986
>>> 57552 1987
>>> 57552 1988
>>> 57552 1989
>>> 57552 1990
>>> 57552 1991
>>> 57552 1992
>>> 57552 1993
>>> 57552 1994
>>> 57552 1995
>>> 57552 1996
>>> 57552 1997
>>> 57552 1998
>>> 57552 1999
>>>
>>> ------------------------------------------------------------------------------
>>>  
>>>
>>> This SF.net email is sponsored by:
>>> High Quality Requirements in a Collaborative Environment.
>>> Download a free trial of Rational Requirements Composer Now!
>>> http://p.sf.net/sfu/www-ibm-com
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Matplotlib-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>   
>>>       
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by:
>> High Quality Requirements in a Collaborative Environment.
>> Download a free trial of Rational Requirements Composer Now!
>> http://p.sf.net/sfu/www-ibm-com
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>   
>>     
>
>
> ------------------------------------------------------------------------------
> Stay on top of everything new and different, both inside and 
> around Java (TM) technology - register by April 22, and save
> $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
> 300 plus technical and hands-on sessions. Register today. 
> Use priority code J9JMT32. http://p.sf.net/sfu/p
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>   

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to