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.

Reply via email to