Ciao Roberto, which is the current size of the image? (the .image file).

If you evaluate the following a couple of times (print it cmd-p), you will
cleanup most of the unreferenced objects in the image, it returns a number
so you can compare it to successive evaluations.

Smalltalk garbageCollect.

You can also follow the pointers to objects, to detect objects which you
suspect are just hanging around, and fail to be garbage collected, to clear
those references. Open an inspector an any object,and the menu has that
option. ( {Object. 1. #hello} inspect) .

You can also, start with a fresh image.


pd: if you search the mailing list, i remember Tudor writing about large
images and vm's.



On Thu, Nov 8, 2012 at 2:16 PM, roberto.mine...@usi.ch <
roberto.mine...@usi.ch> wrote:

> Hi,
>
> I was executing a piece of code that collects the revisions of a Git repo
> in Pharo but it seems Pharo requires more memory..
>
> How do I increase the available memory?
>
> Here is the log:
>
> SmalltalkImage>>signalLowSpace
> OutOfMemory>>defaultAction
> UndefinedObject>>handleSignal:
> OutOfMemory(Exception)>>pass
> PasteUpMorph>>becomeActiveDuring: in Block: [:ex | ...
> BlockClosure>>cull:
> MethodContext(ContextPart)>>handleSignal: in Block: [self
> exceptionHandlerBlock cull: exception]
> BlockClosure>>ensure:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> OutOfMemory(Exception)>>signal
> OutOfMemory class(Exception class)>>signal
> ByteArray class(Behavior)>>basicNew:
> ByteArray class(Behavior)>>new:
> ByteArray(SequenceableCollection)>>copyFrom:to:
> ReadStream(PositionableStream)>>contents
> GitPackedNonDelta(GitPackedObject)>>compressedData
> GitPackedNonDelta(GitPackedObject)>>computeCRC
> GitPackedNonDelta(GitPackedObject)>>loadFrom:
> GitPackedObject class>>fromPack:at:in:
> GitPackFile>>objectAtOffset:
> GitPackFile>>objectNamed:
> GitRepository>>packedObjectNamed:ifAbsent: in Block: [:pack | (pack
> objectNamed: aHexHash)...
> GitRepository>>packsDo: in Block: [:pack | aBlock value: pack]
> OrderedCollection>>do:
> GitRepository>>packsDo:
> GitRepository>>packedObjectNamed:ifAbsent:
> GitRepository>>objectNamed:ifAbsent: in Block: [self packedObjectNamed:
> aHash ifAbsent: aBlock]
> GitRepository>>looseObjectNamed:ifAbsent: in Block: [^ aBlock value]
> False>>ifTrue:ifFalse:
>
> Thanks,
> Roberto
>

Reply via email to