On Tuesday, April 1, 2014 3:55:43 PM UTC-5, Derek wrote: > > question 1 - sure, the memory should be reclaimed eventually. You could > tell the gc to collect immediately, but it operates on it's own time. Even > the .NET VM will hold on to memory for longer than it should if there's > nothing that needs that memory. You just call gc.collect() to have it > collect immediately. >
The problem is that in the real app, gc never occurs before memory usage gets so huge that the os (Ubuntu 12.04 server) kills web2py. > question 2 - yea, don't do that :) try 'xrange(100000)' which is more > memory efficient. > I don't see how that will help if the full list needs to be rendered in a view. Basically my problem is that I have a controller function that constructs a dictionary from some db queries that gets serialized in a json view. Repeated calls to this function leak memory, and I'm trying to figure out if this is a bug in web2py. The example I gave is the simplest case that shows the problem. > > On Tuesday, April 1, 2014 8:00:08 AM UTC-7, Rick Ree wrote: >> >> Hi, >> >> If I create a new app and put a single function in default.py: >> >> def f(): >> return dict(a=list(range(100000))) >> >> and then repeatedly call this using wget, e.g. wget >> http://localhost:8000/default/f.html, then memory usage of web2py will >> creep higher with each call. Is this a memory leak, or will the memory >> eventually be reclaimed? Is there something I can do in f() to avoid this? >> >> thanks, >> -Rick >> > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.