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
