In case you missed the point... you have told us nothing whatever about your system, the version of Moodle you have and how you installed (and how you used it)
Unsure how we are supposed to help!
100% CPU for PHP, looks like a problem with PHP rather than Moodle per se. A heavily loaded system will normally show loads of Apache processes. Without knowing more, it's impossible to say.
Sorry! Apparently, I submitted this prior to finishing the post.
Question: this should not be normal for a site running moodle where one process is running at 100%? Is anyone else having a similar issue? And if so, how can I correct it?
Environment: Moodle 2.3.1 running on Ubuntu 12.04.
In this server, Are you running just Moodle with PHP or exist more software that are using PHP?
Just Moodle with PHP. No other servers or services running. Looking at it a little closer, I am seeing that the php process shows up when the cron.php job is running. So I am pretty sure it is related to that. Cron.php is also doing the course backups (at least when I run it manually).
Which the running interval your cron, did you configure it?
Every 30 minutes. And that is for sending the forum posts out.I am wondering whether it is going through all the course backups everytime it runs. We have around 7000 courses active in the system.