[Pharo-project] out of memory - cog on windows

Tudor Girba tudor.girba at gmail.com
Fri Apr 22 10:32:49 CEST 2011


Hi Alain,

Thanks. I would indeed be interested in your compiled VM.

Regarding running it on Mac, indeed I can do that, but I will have to wait until next week to get access to the image due to holidays.

Another bit of information is that the image was built and saved without a problem on the same machine where now it does not work anymore.

Cheers,
Doru


On 21 Apr 2011, at 23:52, Alain_Rastoul wrote:

> (And of course Tudor, I forgot to mention it but I can send you this vm if you need)
>  
> "Alain_Rastoul" <alr.dev-GANU6spQydw at public.gmane.org> a écrit dans le message de news: ioq86o$69j$1 at dough.gmane.org...
> I thought he was able to start it on a Mac that's why I suggested to this on a Mac and see if memory consumption was reduced.
> BTW I have rebuild a cog vm with 2Gb ram for MAX_MEMORY and it runs ok on my 1Gb netbook
>  
> "Mariano Martinez Peck" <marianopeck at gmail.com> a écrit dans le message de news:BANLkTikuk1jRV34=u2pzTFx5+2qWgjrbCQ-JsoAwUIsXosN+BqQ9rBEUg at public.gmane.org...
> Alain: as far as I understood, he cannot even start the image...so he won't be able to open a workspace and evaluate something. 
> 
> Doru, if you can evaluate something in a workspace, you may also try SpaceTally new printSpaceAnalysis
> and then check the STspace.text  that is next to the image. That way you acn see if there are certain classes that have a lot of instances. 
> 
> Can you evaluate "Smalltalk garbageCollect " and tell me the answer?  just curious....
> 
> thanks
> 
> mariano
> 
> On Thu, Apr 21, 2011 at 10:36 PM, Alain_Rastoul <alr.dev at free.fr> wrote:
> Mmm, you are right, in old squeak versions, there was a parameter
> -memory: xx (xx inMB)
> but I don't know if it is still in use.
> 
> BTW there must be some hanging references in memory and perhaps youd should
> do some PointerFinder on it.
> A very handy script I found (on Ramon Leon's blog or elsewhere I don't
> remember) could help you.
> You can try it in a workspace and see if it reduces your memory usage (after
> save and quit)
> comment unknown or unwanted commands :
>   | tasks |
>    tasks := OrderedCollection new
>                add: [MCFileBasedRepository flushAllCaches];
>                add: [WARegistry clearAllHandlers];
>               " add: [SMSqueakMap default clearCaches];"
>                add: [Smalltalk removeEmptyMessageCategories];
>                add: [Workspace
>                        allSubInstancesDo: [:each | each setBindings:
> Dictionary new]];
>               " add: [Undeclared removeUnreferencedKeys];"
>               " add: [Categorizer sortAllCategories];"
>                add: [ODBCConnection cleanAll];
>                add: [Symbol compactSymbolTable];
>               " add: [ReleaseBuilderDeveloper new fixObsoleteReferences];"
>                add: [Smalltalk garbageCollectMost];
>                add: [Smalltalk garbageCollect ];
>                add: [Smalltalk garbageCollect ];
>                add: [Smalltalk garbageCollect ];
>  add: [EventManager actionMaps keys do: [:each| EventManager
> releaseActionMapFor: each] ];
>  add: [Debugger closeAllDebuggers];
>  add:[Debugger allInstances do: [ :d | d release ] ];
> 
>                 yourself.
>    UIManager default
>        informUserDuring: [:bar | tasks
>                do: [:block |
>                    bar value: block printString.
>                    [block value]
>                        on: Error
>                        do: [:error | Transcript show: error;
>                                 cr]]].
> 
> Regards
> Alain
> 
> "Tudor Girba" <tudor.girba at gmail.com> a écrit
> dans le message de news: 6AA1F065-3996-433B-AB7C-1640C08D5A7B-Re5JQEeQqe9Ui4FbrNnSJA at public.gmane.org
> Hi,
> 
> Should I to understand that the only way to enable more memory is to
> recompile the VM? Does that mean that there is no way to pass this
> information as a parameter like we can on Mac?
> 
> The problem is that I cannot recompile the VM because I have no access to a
> Windows machine. Is there one available that provides more memory?
> 
> Cheers,
> Doru
> 
> 
> On 21 Apr 2011, at 22:09, Alain_Rastoul wrote:
> 
> > Hi Tudor,
> >
> > There is a constant in sqWin32Alloc.h (platforms\win32\vm) :
> > #define MAX_VIRTUAL_MEMORY 512*1024*1024
> > you can change it to whatever you want and rebuild the vm,
> > for exzmple give all the available memory less 256 M .
> >
> > HTH
> >
> > Regards
> > Alain
> >
> > "Tudor Girba" <tudor.girba at gmail.com> a
> > écrit
> > dans le message de news:
> > 03B9389F-C719-44D0-B106-2AC78B120F56-Re5JQEeQqe9Ui4FbrNnSJA-XMD5yJDbdMRG2NFembrH+g at public.gmane.orgorg
> > Hi,
> >
> > We have no specific startUp: methods in Moose. In any case, the issue with
> > opening the image does not seem to be related to startUp:.
> >
> > Is it really true that the Cog VM is limited to 512MB of memory?
> >
> > Cheers,
> > Doru
> >
> >
> > On 21 Apr 2011, at 14:27, Luc Fabresse wrote:
> >
> >> Hi Doru,
> >>
> >> 2011/4/21 Tudor Girba
> >> <tudor.girba at gmail.com>
> >> Hi,
> >>
> >>
> >>
> >> On Apr 21, 2011, at 14:06, Mariano Martinez Peck
> >> <marianopeck at gmail.com> wrote:
> >>
> >>>
> >>>
> >>> On Thu, Apr 21, 2011 at 1:58 PM, Tudor Girba
> >>> <tudor.girba at gmail.com> wrote:
> >>>> Hi again,
> >>>>
> >>>> I did not say what the problem was :). The problem was that when
> >>>> opening the image on Windows, he got a Space is low message and the
> >>>> image was not usable (see attachment).
> >>>
> >>> That's weird. Does moose have something on the startup list?   something
> >>> that can be bothering there?
> >>
> >> Not that I know of. Is there a way to check this?
> >>
> >> Classes should be registered using Smalltlak addToStartUpList: aClass
> >> Then aClass class>>#startUp: is executed at startup.
> >> So implementors of #startUp: on Moose classes should give you the answer.
> >>
> >> #Luc
> >>
> >>
> >> Actually, using exactly the same process some days ago he produced an
> >> image of 190MB. This one works just fine on Windows. The only difference
> >> between the two is the size of the loaded data.
> >>
> >> It would be really bad news if the Windows vm would be so severely
> >> limited
> >> in terms of memory.
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>>
> >>> On Mac it worked just fine.
> >>>>
> >>>> Cheers,
> >>>> Doru
> >>>>
> >>>>
> >>>
> >>>>
> >>>>
> >>>>
> >>>> On 21 Apr 2011, at 12:52, Tudor Girba wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> I received a question from someone running a 200MB image on Windows
> >>>>> using Cog 2361.
> >>>>>
> >>>>> If I open the image on Mac, it works just fine. Unfortunately, I do
> >>>>> not have a Windows machine around, and I cannot test but I believe it
> >>>>> should be solvable by increasing the allocated memory.
> >>>>>
> >>>>> On Mac, I would run it with: ./Croquet -memory 1500m
> >>>>>
> >>>>> Can anyone help me with the right incantation for Windows?
> >>>>>
> >>>>> Cheers,
> >>>>> Doru
> >>>>>
> >>>>>
> >>>>> --
> >>>>> www.tudorgirba.com
> >>>>>
> >>>>> "What we can governs what we wish."
> >>>>>
> >>>>>
> >>>>>
> >>>>> <Space is low.png>
> >>>>
> >>>> --
> >>>> www.tudorgirba.com
> >>>>
> >>>> "Yesterday is a fact.
> >>>> Tomorrow is a possibility.
> >>>> Today is a challenge."
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> Mariano
> >>> http://marianopeck.wordpress.com
> >>>
> >>
> >
> > --
> > www.tudorgirba.com
> >
> > "Beauty is where we see it."
> >
> >
> >
> >
> >
> >
> >
> >
> 
> --
> www.tudorgirba.com
> 
> "If you interrupt the barber while he is cutting your hair,
> you will end up with a messy haircut."
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com
> 

--
www.tudorgirba.com

"We can create beautiful models in a vacuum.
But, to get them effective we have to deal with the inconvenience of reality."




More information about the Pharo-project mailing list