[Seaside] image unable to start correctly...space problem?
John M McIntosh
johnmci at smalltalkconsulting.com
Sun Nov 18 10:38:47 UTC 2007
Ok, let me clarify a few things, no one mentions the operating system,
although I guess it's Windows based on mention of squeak.exe
(a) most 32bit operating systems won't let you allocate a chunk of
memory > 2 GB
(b) some 32bit operating systems won't let you allocate a chunk of
memory > 1.5 GB
(c) Until just recently allocating > 2GB of memory for a Squeak image
would cause the VM to fail.
(c) The Squeak VM (all platforms) come with a upper limit on how big
the image can grow, what that limit is
is dependent on which VM and which version. Some VMs will let you set
the upper limit when you start the VM
http://wiki.squeak.org/squeak/105
Someone will need to check but it looks like the windows VM is built
with a max of 512MB for the image memory
sqWin32Alloc.h
/*
Limit the default size for virtual memory to 512MB to avoid nasty
spurious problems when large dynamic libraries are loaded later.
Applications needing more virtual memory can increase the size by
defining it appropriately - here we try to cater for the common
case by using a "reasonable" size that will leave enough space for
other libraries.
*/
#ifndef MAX_VIRTUAL_MEMORY
#define MAX_VIRTUAL_MEMORY 512*1024*1024
#endif
Solutions to very large squeak images are:
(a) Run a 64 squeak Vm with 32bit Image, that should allow a 4GB
squeak image.
(b) Ensure you have all the 32bit VM patchs so you can actually access
> 2GB
(c) The GC logic and how it is tuned is not designed for multi-GB
image. See
http://www.esug.org/data/ESUG2006/pres/gctalkjohnmacintosh.pdf
(d) Ensure the memory upper bound set is sufficient for your needs.
On Nov 18, 2007, at 2:15 AM, Philippe Marschall wrote:
> 2007/11/18, Ching de la Serna <ching.dls at gmail.com>:
>> Hi Philippe,
>>
>> I am using Squeak (I presume when you mentioned VW you meant Visual
>> Works?) I have 4GB of physical memory
>
> No I meant VM. You a single process on a 32bit OS will never have 4 GB
> of virtual memory. In general you are limited to 2 GB of virtual
> memory unless you play special tricks. This is completely independend
> of your physical memory size
>
> Cheers
> Philippe
>
>> Thanks,
>>
>> Ching
>>
>> On Nov 18, 2007 6:01 PM, Philippe Marschall
>> <philippe.marschall at gmail.com> wrote:
>>> 2007/11/18, Ching de la Serna <ching.dls at gmail.com>:
>>>
>>>> Hi Seaside,
>>>>
>>>> This problem has been bedeviling me for a long time now. I could
>>>> not
>>>> properly start my image after I got a message, "Space is low".
>>>> When I
>>>> checked, Squeak.exe process was reported to be 800,000 MB and I had
>>>> 2GB of memory. Several other processes were competing with the 2GB
>>>> memory.
>>>>
>>>> I proceeded to try to solve this by adding more memory. Now, I
>>>> have 4
>>>> GB of physical memory and my app started fine. When I proceeded
>>>> to add
>>>> more methods and tried to save, I lost my app in that it stopped
>>>> and
>>>> would not start again. Can anyone tell me what is going on here? my
>>>> image is a little over 800 MB and my memory manager reports
>>>> available
>>>> memory in excess of 2GB
>>>
>>> There is a difference between physical and virtual memory. Using
>>> Squeak images of this size is unknown territory. You'll have to
>>> use a
>>> recent VW and are very likely to spend a considerable amount of time
>>> on garbage collection.
>>>
>>> Cheers
>>> Philippe
>>>
>>>> Thanks for the help,
>>>>
>>>> Ching
>>>
--
=
=
=
========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
=
=
=
========================================================================
More information about the seaside
mailing list