Have you experienced the same problem while using physical server?
Have you made any significant changes recently?
Does the 100% CPU is immediately after the site starts or after some time?
Have you checked application log files against some kind of flooding of requests?
Have you checked your SQL Server with profiler and found the queries that use CPU?
Experienced the same problem once, the issue was that the pageCacheSlidingExpiration was set to 0 in web.config, which means that EPiServer always fetches everything from the database.
Another problem can be a scheduled job doing something it's not supposed to do.
Which EPiServer version? Upgrading to 4.6X (? - don't remember the exact version number) causes the database to delete items in the tblScheduledItem table. This causes the CPU to go through the roof. You can solve the issue by manually deleting the rows. (usually several hundred thousands for sites which have been running a while...)
If you're using EPiServer CMS 5, we need answers to Marek's questions :)
The database server processor is congested. It is almost always at hundred percent. That also means that our site is slow. When we turn off the web servers, the load goes down to zero, and when we turn it on, it is full of activity again. What could be wrong? Is there anything that can interfere with EPiServer? Can any of EPiServer SQL queries be slow? Previously, we had a physical sever, but with a new release we go with virtual servers. Could that be a problem? Anyone had this problem before?