>>204
マジレスで、プログラムの組み方に問題が無いのなら
低発熱の速いCPUに換えて冷却をしっかりする。 会社なら空調を何とかする。
CPU使用率100%で20分連続稼働出来ないのは異常

それ原因ってphp側というより
DB側のインデックス不備とか 結合の仕方が悪いSQLとかに原因有るんじゃないか?
phpでぶん回して集計かけるんじゃなくて、ストアドプロシージャ使ったり出来ないの?

後は、
sleep(60) じゃなくて ループ内で usleep(5000) とか、
メモリ使い切ってswapアウトしてしまうのなら、適宜不要になったarrayを明示的にunsetするとか。
とりあえずsarで計測したりしながら何がボトルネックか探ったら?