Jesper Larsen wrote:
> Hi matplotlib users,
>
> I'm using matplotlib for a long running process. Unfortunately the memory
> usage continue to grow as the process runs. I have appended a simple example
> which illustrates this at the end of this mail. Unfortunately I haven't
> figured out how to use the information obtainable from gc for anything useful
> in this regards.
>
> Kind regards,
> Jesper
>
>
> My system is:
>
>
>> uname -a
>>
> Linux sea 2.6.15-28-686 #1 SMP PREEMPT Thu Feb 1 16:14:07 UTC 2007 i686
> GNU/Linux
>
>
>> python
>>
> Python 2.4.4 (#1, Nov 16 2006, 13:39:46)
> [GCC 3.3.3 (Debian)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>
>>>> import matplotlib
>>>> print matplotlib.__version__
>>>>
> 0.87.6
>
>>>> from matplotlib.toolkits import basemap
>>>> print basemap.__version__
>>>>
> 0.9.4
>
> Test code:
>
> import os, gc
> import PyNGL.Nio as Nio
> from matplotlib.toolkits import basemap
> from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
> import pylab
>
> def report_memory(i):
> pid = os.getpid()
> a2 = os.popen('ps -p %d -o rss,vsz,%%mem' % pid).readlines()
> print i, ' ', a2[1],
> return int(a2[1].split()[1])
>
> def plot():
> #gc.set_debug(gc.DEBUG_LEAK)
> lon = pylab.linspace(-4.08300018311, 30.25, 207)
> lat = pylab.linspace(48.5499992371, 65.8499984741, 174)
> xo, yo = pylab.meshgrid(lon, lat)
> bmap = basemap.Basemap(-4, 48, 30, 66)
> xlon, ylat = bmap(xo,yo)
>
> fig = pylab.Figure()
> canvas = FigureCanvas(fig)
>
> i = 0
> while True:
> report_memory(i)
>
> fig.clear()
> cs = bmap.contourf(xlon, ylat, xo)
> del cs
>
> i += 1
>
> if __name__ == '__main__': plot()
>
>
Jesper: For now I recommend adding 'pylab.cla()' after the fig.clear()
as a workaround. I don't really understand why that is necessary -
perhaps John or Eric can clarify whether this is indeed a bug.
-Jeff
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : [EMAIL PROTECTED]
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users