Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^3: Perl crashing with Parallel::ForkManager and WWW::Mechanize

by BrowserUk (Pope)
on Aug 05, 2012 at 15:41 UTC ( #985541=note: print w/replies, xml ) Need Help??

in reply to Re^2: Perl crashing with Parallel::ForkManager and WWW::Mechanize
in thread Perl crashing with Parallel::ForkManager and WWW::Mechanize

When a child process is spawned by the Parent Process

When you use fork on Windows, you do not create a child process. You spawn a thread within the existing process that simulates forking.

More generally -- unless you explicitly restrict them -- all threads are eligible to run on all available processors.

And processes are threads -- on all platforms. Even a single-threaded process, is a thread at the OS level.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?

  • Comment on Re^3: Perl crashing with Parallel::ForkManager and WWW::Mechanize

Replies are listed 'Best First'.
Re^4: Perl crashing with Parallel::ForkManager and WWW::Mechanize
by NeonFlash (Novice) on Aug 06, 2012 at 07:24 UTC
    Thanks. How about on the Linux Platform? Since my case the script was failing on Windows but works good on Linux, so there must be some difference in the mechanism. While running the script, I ran the top command and noticed that there are multiple processes for perl each having a unique PID. So, in case of Linux multiple processes are spawned, is that correct?
    I want to know, what are the factors I need to consider while setting the value of MAX_CHILDREN setting in my program. I think it depends on the amount memory available, the processor speed and the Internet Connection speed. What would be a good setting? I am running my script inside an Ubuntu Virtual Machine with 2 Gb of memory allocated to the VM and 2 i7 Processor cores allocated to it. I have set the value for MAX_CHILDREN to 15 at present, and the script seems to run properly. Can I increase it further, for instance to a value like 20? I believe, memory releases happen automatically.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://985541]
[Happy-the-monk]: Discipulus: most other Europeans must wait until 8 May for that day.

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2018-04-25 09:30 GMT
Find Nodes?
    Voting Booth?