Hi Mariano

As a first step, I suggest to find out which of the three caches  
actually is the one that uses all that memory. In a large image, you  
can run one of the cleanups at a time, and after each one do a GC and  
check the memory consumption (compare the free memory of:  
SmalltalkImage current vmStatisticsReportString)

HTH,
Adrian

On Aug 22, 2009, at 03:15 , Mariano Martinez Peck wrote:

> 2009/8/21 Daniel P Zepeda <[email protected]>
>
>>
>> On Aug 21, 2009, at 4:25 PM, Mariano Martinez Peck wrote:
>>
>> Hi folks: Sometimes, my Pharo images grows a lot. Size like 80MB or
>> similar. Marcelo Cortez gave me a couple of changes (fileouts) that  
>> make my
>> images go back to their original size or similar. For example, it  
>> was tasted
>> in a 87 MB and after this changes and this stuff, it become in 24  
>> MB. The
>> same with another one from 65M to 35M.
>>
>> If you have a big Pharo image, save a copy and do this tests:
>>
>> 1) File in all the changes I attach.
>>
>>
>> There is nothing attached.
>>
>
>
> Ups...sorry. I attach it here.
>
>
>
>>
>>
>> 2) Go to a workspace and evaluate:
>>
>> OBDPAbstract reinitAllCache.
>> LocalSends  allInstances first initialize.
>> EventManager  resetMap.
>> Smalltalk garbageCollect.
>>
>> Did this make your image too much smaller?
>>
>> When I evaluate SystemNavigation default obsoleteBehavio size   I  
>> get a a
>> number of 3 digits.
>>
>> Perhaps it is a matter with the OB. I guess it generates  
>> dependences while
>> you are developing a class and it creates on the fly an  
>> obsolteClassXXX when
>> there is something that doesn't exist.  Then they are processes and  
>> they are
>> never garbage collected.
>>
>> When  SmalltalkImage tries to fix the obsoletes delegates to the  
>> literal
>> frames of the compiled methods so that to search references to the
>> obsoletes. But references were not gone because they weren't garbage
>> collected. The same method finishes with error if the obsoletes > 0.
>>
>> Does anyone has a comment for this?
>>
>>
>> Well, the only comment I have is that this procedure should go on the
>> snippets page no the Pharo Project website. I know you are after a  
>> deeper
>> fix, but others will have to provide that, as this is way over my  
>> head at
>> this time.
>>
>
> I think the same as you.
>
>
>>
>>
>>
>> I tried to do my best to write in English from what Marcelo told me  
>> and
>> from what I can understand from the changesets.
>>
>>
>> You did a good job, I understand the problem conceptually from your
>> description. I just don't have any idea how to fix that.
>>
>
> Excellent and thanks for the report
>
>
>>
>>
>>
>> Best,
>>
>> Mariano _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
> <EventManager class-resetMap.st><OBDPAbstract class- 
> reinitAllCache.st><OBDPAbstract class- 
> reinitCache.st>_______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to