http://www.perlmonks.org?node_id=443285


in reply to Parallel::ForkManager eating up Resources?

You never answered my first question.

Why are you creating & closing oracle connections? Unless there is some special reason to do that (aka, tasks running as different oracle users), don't do that. Creating & destroying oracle connections so often is where your load jump is coming from. You should switch your model from:
foreach $task (@tasks) { fork/connect/execute/disconnect/exit }
To:
for($i = 0; $i < $numchilds; $i++) {fork; connect; while (get_task) { +run_task}; disconnect; exit;}