On Mon, Jun 24, 2013 at 8:22 AM, liuyanghejerry
<[email protected]> wrote:
> Hi, I have a TCP server written in Node.js.
>
> It is pretty good at start, but consumes lots of memory and swap after
> about 24 hours.
>
> I'm new to write long run JS code, and the TCP server transffer 13GB
> data each day. So I think this may be a kind of memory leak.
>
> Then I searched around and read some article about memory leak in JS,
> found that V8 snapshot may help a lot.
>
> However, the snapshot shows the heap contains lots of Buffer object and
> most of them associated with SlowBuffer. I have no idea how to deal with
> this, can someone help with it? Thanks.

Buffers are sliced from SlowBuffers in order to reduce the number of
malloc/free calls in C++ land*.  Seeing them in your heap snapshot is
not a sign of a memory leak by itself.

Because Buffers retain a reference to their parent, that parent can't
be garbage collected until all Buffers that reference it have been
reclaimed. That is usually the real reason for a memory leak in
scenarios like yours: something somewhere is keeping a Buffer alive.

* Subject to change in node.js v0.12.

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

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to