Memory limits in Squeak

John M McIntosh johnmci at smalltalkconsulting.com
Tue Jan 22 22:34:47 UTC 2002


>Ken,
>
>Pointer objects (as opposed to byte objects like String and 
>ByteArray) require 4 bytes per pointer. Your 10M Array needs 40M 
>bytes.
>
>Cheers,
>Bob

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 mailing list