in reply to child process dies soon after fork() call
I'm going to assume a variant on Unix because one child dies and the rest continue. At a wild guess, you've got 2 GB of RAM and no swap. In which case you are running out of RAM. Adding more RAM or configuring swap should stop the problem. Having swap will slow things down a lot.
Another possible fix is to split your data into a larger number of smaller pieces, then use something like Parallel::ForkManager to process it with a fixed number of children at any time. That will give you the parallelism you're looking for while controlling how much memory you need at any one time. Make the size of the target pieces be fixed. That way as your dataset continues to grow, your memory needs will stay fixed.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: child process dies soon after fork() call
by haidut (Novice) on Jan 22, 2009 at 05:29 UTC | |
by tilly (Archbishop) on Jan 22, 2009 at 05:47 UTC | |
by roboticus (Chancellor) on Jan 22, 2009 at 09:52 UTC |