Memory limits in Squeak
John M McIntosh
johnmci at smalltalkconsulting.com
Tue Jan 22 22:34:47 UTC 2002
>Pointer objects (as opposed to byte objects like String and
>ByteArray) require 4 bytes per pointer. Your 10M Array needs 40M
Under os-9 I think you have a limit of 1GB.
Under os-x I think I've read there is a limit around 1.8GB as one
contiguous chunk base on debate over on the appple darwin list.
But more importantly there are some enforced limitations. For the
carbon mac VM 3.2.2 I've an *artifical* limit at 512MB, because
although memory is plentiful Squeak will only run if the memory it
gets is in the range of 0 to < 2GB because of the fact OOP addresses
at certain points in the VM become long *signed* integers, and I had
a case where I asked for 1GB of memory and for some mysterious reason
the memory subsystem gave me the entire memory block 3GB to 4GB.
Which caused a meltdown very quickly.
Note the Carbon mac VM 3.2.1 will only do 50MB because it's broken.
Earlier carbon VM might do 1GB but don't be surprised if they die.
Classic Mac VM will go upto the 1GB limit (I think) but I don't have
a box with say 1.5GB of real memory in it to test this stuff.
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
More information about the Squeak-dev