Tatsuya Ono <[email protected]> wrote: > I don't actually understand is why GC.disable solution could introduce > more memory leak. If I simplify the problem, the code is something > like bellow: > > --------------- > GC.disable > (do something) > GC.enable > GC.start > --------------- > > When the code block finishes, I expect that memory size should be > (almost) equal with the case GC is enabled at begging. But it doesn't > seems so from our experience. > > Do anyone know why there could be significant difference on memory > usage because of timing of GC? It might be a question on Ruby rather > than Unicorn, though, I thought even just sharing my experience could > be worth to someone here.
Basically, the free(3) function in the C standard library does not guarantee memory is released back to the kernel (speed vs memory usage tradeoff). There was discussion of this on the usp.ruby mailing list starting at Message-ID: [email protected] usp.ruby archives are at http://bogomips.org/usp.ruby/archives/2011.mbox.gz _______________________________________________ Unicorn mailing list - [email protected] http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
