We are running a mirror on SQL Server 2005 SP2 Enterprise edition for a few databases. These are running on VMWare with Server 2008 R2. On the mirror server, I see the CPU go up to 50% for about a minute every 10 minutes (on the tens). Here's what it looks like:
From what I have seen so far, this is definitely the sqlserv.exe process going up to 50% (using up 1 of its 2 CPU cores). I have done a SQL profile, and not seen anything running during those times. This server is only used for mirroring the database, so my theory is that it's something related to that. Does anyone have any ideas, or other things I can do to investigate?
Given that is at exact 10 minute marks (7:30, 7:40, 7:50) I would first suspect a periodic job of some sort. An internal 10 min. timer (eg. a checkpoint interval) would run every 10 mins, but unlikely at exactly 10 minute marks. It could be either a job on the mirror, or a job on the principal that generates log that requires processing on the mirror. So first thing I would look would be SQL Agent history on both machines.
If that yields no results, capture SQL Server counters and see what correlates with the spikes.
Updated
Some counters worthy of monitoring to understand the origin of the load spikes: