[Backgroundrb-devel] Cutting down BackgrounDRb memory issue
gethemant at gmail.com
Fri Apr 11 20:22:44 EDT 2008
I have been working to fix BackgrounDRb memory usage as such. Ruby1.8 GC
isn't fork friendly and it seems to use a lot of memory because when you
fork, it sets a bit in all the objects in global scope which causes OS
to all pages in child process.
A classic solution is to use fork and exec, rather than just fork. Its
working and pretty stable, but you loose ability to pass complex
arguments when invoking MiddleMan.new_worker, because essentially I can
only pass arguments in form of strings when using exec.
This help significantly in improving stability of BackgrounDRb and code
written on top of packet. So what you guys think? Shall we go for this
More information about the Backgroundrb-devel