One thing to add to Chris's description of the problem (I'm working
with him on it):

- the child processes stay alive (or are supposed to stay alive)
indefinitely, with the Node process triggering "data" events coming
from them on STDOUT.  No "end" events therefore occur under normal
circumstances.  My theory is that the internal memory buffer used for
the child process STDOUT communication stream isn't getting cleared
down.  Could this be the case?  Ideally you'd expect this to happen at
each "data" event and not just on an "end" event.

I don't know whether this is a Windows-specific issue.

To amplify Chris's last posting, the page content is created
dynamically within the child processes.  The Node process simply picks
up the incoming content on STDOUT and forwards it to the appropriate
browser using the usual pattern of:

 response.writeHead(httpStatus, headers);
 response.write(bodyStr);
 response.end();

So there's no retention or cacheing of the response payload in the
Node process, and inspection of the objects we're using in our logic
(using node-inspector) appears to show that they are clearing down and
are being managed correctly.

BTW, I assume the response.end() should clear down any internal memory
structures that hold the response payload?

So I'd agree with Chris - it sounds more like it's perhaps the child
process STDOUT memory structures that are the source of the leakage.

Rob

On Feb 23, 11:52 am, Chris Casey <[email protected]> wrote:
> It is a custom webserver and we have built no caching as all pages served
> are dynamic.
> Pretty much convinced though that the problem is in the pages fetched from
> the child processes rather than the push to the browser as closing the
> child processes releases the memory.
>
> Chris

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to