Could it be related?  
https://groups.google.com/forum/#!topic/web2py/hmsupVHdDHo/discussion (Memory 
leak in standalone DAL (issue #731), can you please help test?)

2012. május 10., csütörtök 22:32:53 UTC+2 időpontban szimszon a következőt 
írta:
>
> Okay. It's clear.
>
> I'm only puzzled about why the memory didn't get freed or reused after 
> execution is finished. And if I execute the controller function in 1-2min 
> interval mem is still not reused.
>
> So I understand it can eat up the memory but why is all memory locked 
> forever and didn't get reused - in my understanding (it's not much) in my 
> case GC do not free mem at all in python level. So some reference is still 
> intact after function is finished.
>
>
> 2012. május 10., csütörtök 21:53:06 UTC+2 időpontban Richard a következőt 
> írta:
>>
>> Ok, you don't need it to works all the time.
>>
>> Did you get it to update your records?
>>
>> If not, and if as you said it is a one trip, you can just treat the whole 
>> records batch by batch...
>>
>> Look here : 
>> http://web2py.com/books/default/chapter/29/14#Populating-database-with-dummy-data
>>
>> for i in range(10):
>>
>>     populate(db.mytable,100)
>>
>>     db.commit()
>>
>>
>> In this example only 100 records are populated at a time between 
>> db.commit()... So maybe you just have to wrap for loop that will 
>> db.commit() a couples of time during your processing.
>>
>> Richard
>>
>>
>> On Thu, May 10, 2012 at 3:32 PM, szimszon <szims...@gmail.com> wrote:
>>
>>> I had to store files and a lot of properties for it. It was in csv. But 
>>> after I processed it we figured out that not all value was correct in csv 
>>> but it was a bit redundant. So I can correct it by go through all the 
>>> records row by row. So that was a one time trip.
>>>
>>> I just realized after the process I had no memory left. So now I'm 
>>> investigating what happened... 
>>>
>>> 2012. május 10., csütörtök 21:00:05 UTC+2 időpontban Richard a 
>>> következőt írta:
>>>>
>>>> Yes but in this case it is not for the entire reecords...
>>>>
>>>> Why would you return a full list of all the records?
>>>>
>>>> I don't understand what is the purpose of listar that you return in the 
>>>> view under a html table, why do you need to return all the 100000+ entries?
>>>>
>>>> Richard
>>>>
>>>> On Thu, May 10, 2012 at 2:56 PM, szimszon <szims...@gmail.com> wrote:
>>>>
>>>>> In book it is a recommended way to iterate over sql results:
>>>>>
>>>>> http://web2py.com/books/**default/chapter/29/6<http://web2py.com/books/default/chapter/29/6>
>>>>>
>>>>> You can do all the steps in one statement:
>>>>>
>>>>> 1.
>>>>> 2.
>>>>> 3.
>>>>>
>>>>> >>> for row in db(db.person.name=='Alex').sel**ect():
>>>>>
>>>>>
>>>>>         print row.name
>>>>>
>>>>> Alex
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2012. május 10., csütörtök 20:42:22 UTC+2 időpontban Bruce Wade a 
>>>>> következőt írta:
>>>>>
>>>>>> Sorry, you really need to read more about how python works. If you 
>>>>>> learn how for loops work and memory you will understand the problem. 
>>>>>>
>>>>>> One solution do the query before the for loop then loop through the 
>>>>>> objects. This may help at bit. Research xrange vs range
>>>>>>
>>>>>>
>>>>>> On Thu, May 10, 2012 at 11:30 AM, szimszon <szims...@gmail.com>wrote:
>>>>>>
>>>>>>> Sorry I don't understand. What do you mean "achieve with join"?
>>>>>>>
>>>>>>> There is an empty for loop with db.executesql() without join. And it 
>>>>>>> is eating up the memory. :(
>>>>>>>
>>>>>>> 2012. május 10., csütörtök 19:12:30 UTC+2 időpontban Richard a 
>>>>>>> következőt írta:
>>>>>>>
>>>>>>>> You can't manage what you want to achieve with join?
>>>>>>>>
>>>>>>>> Richard
>>>>>>>>
>>>>>>>> On Thu, May 10, 2012 at 10:48 AM, szimszon <szims...@gmail.com>wrote:
>>>>>>>>
>>>>>>>>> Sorry for my dumbness but if something is wrong with my code 
>>>>>>>>> please point me the right line. I'm not so good in English if it 
>>>>>>>>> comes to 
>>>>>>>>> "object instance count" and so. Yeah I know I should go and do some 
>>>>>>>>> milkmaid job :) but I'm curious.
>>>>>>>>>
>>>>>>>>> I'm just define some variable:
>>>>>>>>>
>>>>>>>>> lista = list()
>>>>>>>>> last_row = None
>>>>>>>>> next_page_number = 0
>>>>>>>>>
>>>>>>>>> Go in a for loop that just assign the db query result one-by-one 
>>>>>>>>> to row variable.
>>>>>>>>>
>>>>>>>>> After that I assign the TABLE() helper to a list variable. That is 
>>>>>>>>> it.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2012. május 10., csütörtök 16:34:49 UTC+2 időpontban Bruce Wade a 
>>>>>>>>> következőt írta:
>>>>>>>>>
>>>>>>>>>> Using direct sql query or DAL is going to cause the exact same 
>>>>>>>>>> problem in this situation.
>>>>>>>>>>
>>>>>>>>>> On Thu, May 10, 2012 at 7:28 AM, szimszon <szims...@gmail.com>wrote:
>>>>>>>>>>
>>>>>>>>>>> It's postgres:// in a 
>>>>>>>>>>> Version 1.99.7 (2012-04-23 11:26:23) dev of web2py, and
>>>>>>>>>>>
>>>>>>>>>>> Python 2.7.3 (default, Apr 20 2012, 22:44:07) 
>>>>>>>>>>> [GCC 4.6.3] on linux2
>>>>>>>>>>>
>>>>>>>>>>> python-psycopg2 2.4.5-1
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2012. május 10., csütörtök 15:40:36 UTC+2 időpontban rochacbruno 
>>>>>>>>>>> a következőt írta:
>>>>>>>>>>>
>>>>>>>>>>>> Just for curiosity, what happens if you do it in pure sql?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> for row in db.executesql("**sele********ct * from 
>>>>>>>>>>>> file_properties where id > 0"):
>>>>>>>>>>>>
>>>>>>>>>>>>     # do something
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Does it have a lower memory usage?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, May 10, 2012 at 4:14 AM, Bruce Wade <<bruce.w...@gmail.com>
>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> for row in db( db.file_**propert********ies.id > 0 ).select(
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> -- 
>>>>>>>>>>>>
>>>>>>>>>>>> Bruno Rocha
>>>>>>>>>>>> [http://rochacbruno.com.br]
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>> -- 
>>>>>>>>>> Regards,
>>>>>>>>>> Bruce Wade
>>>>>>>>>> http://ca.linkedin.com/in/**bruc******elwade<http://ca.linkedin.com/in/brucelwade>
>>>>>>>>>> http://www.wadecybertech.com
>>>>>>>>>> http://www.fittraineronline.**co******m<http://www.fittraineronline.com>-
>>>>>>>>>>  Fitness Personal Trainers Online
>>>>>>>>>> http://www.warplydesigned.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> -- 
>>>>>> Regards,
>>>>>> Bruce Wade
>>>>>> http://ca.linkedin.com/in/**bruc**elwade<http://ca.linkedin.com/in/brucelwade>
>>>>>> http://www.wadecybertech.com
>>>>>> http://www.fittraineronline.**co**m <http://www.fittraineronline.com>- 
>>>>>> Fitness Personal Trainers Online
>>>>>> http://www.warplydesigned.com
>>>>>>
>>>>>>  
>>>>
>>

Reply via email to