The machine's load is the average number of processes that were ready to run when the scheduler went to allocate a time slice.
That will rise 1 because either your script or the shells it launches can always run. And you may add a bit more because other processes will spend time waiting that they would have spent running.
Unless these instances are being launched at a crazy speed, you will probably find sleeping 1 second in the loop to be well worthwhile. Even if they are launched fast, tossing in a select(undef,undef,undef,0.05) will still drop your load substantially and get rid of them quickly. |