[Glass] cannot allocate memory
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Tue Jul 7 09:59:37 PDT 2015
On 07/07/2015 08:35 AM, Otto Behrens via Glass wrote:
> Hi,
>
> We call "System class >> performOnServer:" often from our seaside
> server sessions. We get an error "HostPerform failed; errno 12, Cannot
> allocate memory".
>
> This happens at the end of the day, while sessions have been running
> all day, and have been quite busy.
>
> It appears as if there is a memory leak in this function; I don't
> really understand what memory it is trying to allocate here.
We don't think this is a leak per se ... when you do the
performOnServer: and that forks the linux process the size of the stack
or the amount of memory allocated shouldn't be a direct factor ... I
understand that the virtual memory mapping tables are copied during the
fork ...
Presumably you are failing because the overall system is getting close
to running out of swap space which can happen if and when the memory is
allocated as real memory (and consuming swap space) ...
A straightforward solution would be to allocate more swap space to
allow the processes to get over the hump.
From your configuration parameters, it doesn't look like the TOC is not
huge, but as we've recently discussed with Mariano, the gems will
dynamically allocate/deallocate memory pages but an idle gem will sit on
it's allocated pages until a marksweep triggers a reduction in memory
consumption ...
running statmon and recording the output of top peridocally would give
us a chance to do further diagnosis, since at this point in time we're
largely guessing:)
>
> We're assuming the System class >> performOnServer: is the way in
> GemStone to execute shell commands. Should we be using another way?
>
Nope this is the right way ...
Dale
More information about the Glass
mailing list