Acidgod, do you know in what "mesurement" the CPU usage returned by "uptime" binary? I don't... and if use the method you showed, it would show sometimes 300% on my server - which is obviosly impossible. Wonder if you know..
@}{iJacK:
Lets try this first, see if you'd like it.
If server reached NN% CPU usage, let the current page request wait 1 second (sleep), then check again CPU usage, if its still too high, sleep for 1 more second, continue put the process to sleep unitll CPU usage droped, once its droped - continue executing the script.
This will endup slowing down opening pages, and will not return any error messages (unless ofcourse client (browser) get timeout, which hopefuly will not happend too often or at all.)
If you like this idea, I'll try do that using Acidgod's method.
In mean time, create a test.php file with the following content, upload it to your server and start it with the browser. See if it return any error messages, or some numbers.
<?php
echo exec("uptime");
?>